summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include/inst.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ia64/include/inst.h')
-rw-r--r--sys/ia64/include/inst.h1168
1 files changed, 1168 insertions, 0 deletions
diff --git a/sys/ia64/include/inst.h b/sys/ia64/include/inst.h
new file mode 100644
index 0000000..5abea43
--- /dev/null
+++ b/sys/ia64/include/inst.h
@@ -0,0 +1,1168 @@
+/*-
+ * Copyright (c) 2000 Doug Rabson
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE_INST_H_
+#define _MACHINE_INST_H_
+
+union ia64_instruction {
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+
+ u_int64_t x4 :4;
+ u_int64_t v :1;
+ u_int64_t x2a :2;
+ u_int64_t resv :1;
+ u_int64_t op :4;
+ } A1;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t ct2d :2;
+ u_int64_t x4 :4;
+ u_int64_t v :1;
+ u_int64_t x2a :2;
+ u_int64_t resv :1;
+ u_int64_t op :4;
+ } A2;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t imm7b :7;
+ u_int64_t r3 :7;
+ u_int64_t x2b :2;
+ u_int64_t x4 :4;
+ u_int64_t v :1;
+ u_int64_t x2a :2;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } A3;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t imm7b :7;
+ u_int64_t r3 :7;
+ u_int64_t imm6d :6;
+ u_int64_t v :1;
+ u_int64_t x2a :2;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } A4;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t imm7b :7;
+ u_int64_t r3 :2;
+ u_int64_t imm5c :5;
+ u_int64_t imm9d :9;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } A5;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t p1 :6;
+ u_int64_t c :1;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t p2 :6;
+ u_int64_t ta :1;
+ u_int64_t x2 :2;
+ u_int64_t tb :1;
+ u_int64_t op :4;
+ } A6;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t p1 :6;
+ u_int64_t c :1;
+ u_int64_t zero :7;
+ u_int64_t r3 :7;
+ u_int64_t p2 :6;
+ u_int64_t ta :1;
+ u_int64_t x2 :2;
+ u_int64_t tb :1;
+ u_int64_t op :4;
+ } A7;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t p1 :6;
+ u_int64_t c :1;
+ u_int64_t imm7b :7;
+ u_int64_t r3 :7;
+ u_int64_t p2 :6;
+ u_int64_t ta :1;
+ u_int64_t x2 :2;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } A8;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t x2b :2;
+ u_int64_t x4 :4;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } A9;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t ct2d :2;
+ u_int64_t x4 :4;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } A10;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t resv :1;
+ u_int64_t x2b :2;
+ u_int64_t ct2d :2;
+ u_int64_t ve :1;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } I1;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t resv :1;
+ u_int64_t x2b :2;
+ u_int64_t x2c :2;
+ u_int64_t ve :1;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } I2;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t mbt4c :4;
+ u_int64_t resv :4;
+ u_int64_t x2b :2;
+ u_int64_t x2c :2;
+ u_int64_t ve :1;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } I3;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t mht8c :8;
+ u_int64_t x2b :2;
+ u_int64_t x2c :2;
+ u_int64_t ve :1;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } I4;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t resv :1;
+ u_int64_t x2b :2;
+ u_int64_t x2c :2;
+ u_int64_t ve :1;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } I5;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv1 :1;
+ u_int64_t count5b :5;
+ u_int64_t resv2 :1;
+ u_int64_t r3 :7;
+ u_int64_t resv3 :1;
+ u_int64_t x2b :2;
+ u_int64_t x2c :2;
+ u_int64_t ve :1;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } I6;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t resv :1;
+ u_int64_t x2b :2;
+ u_int64_t x2c :2;
+ u_int64_t ve :1;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } I7;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t count5c :5;
+ u_int64_t resv :2;
+ u_int64_t x2b :2;
+ u_int64_t x2c :2;
+ u_int64_t ve :1;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } I8;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t zero :7;
+ u_int64_t r3 :7;
+ u_int64_t resv :1;
+ u_int64_t x2b :2;
+ u_int64_t x2c :2;
+ u_int64_t ve :1;
+ u_int64_t zb :1;
+ u_int64_t x2a :2;
+ u_int64_t za :1;
+ u_int64_t op :4;
+ } I9;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t count6d :6;
+ u_int64_t x :1;
+ u_int64_t x2 :2;
+ u_int64_t resv :1;
+ u_int64_t op :4;
+ } I10;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t y :1;
+ u_int64_t pos6b :6;
+ u_int64_t r3 :7;
+ u_int64_t len6d :6;
+ u_int64_t x :1;
+ u_int64_t x2 :2;
+ u_int64_t resv :1;
+ u_int64_t op :4;
+ } I11;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t cpos6c :6;
+ u_int64_t y :1;
+ u_int64_t len6d :6;
+ u_int64_t x :1;
+ u_int64_t x2 :2;
+ u_int64_t resv :1;
+ u_int64_t op :4;
+ } I12;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t imm7b :7;
+ u_int64_t cpos6c :6;
+ u_int64_t y :1;
+ u_int64_t len6d :6;
+ u_int64_t x :1;
+ u_int64_t x2 :2;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } I13;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv :1;
+ u_int64_t cpos6b :6;
+ u_int64_t r3 :7;
+ u_int64_t len6d :6;
+ u_int64_t x :1;
+ u_int64_t x2 :2;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } I14;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t len4d :6;
+ u_int64_t cpos6d :6;
+ u_int64_t op :4;
+ } I15;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t p1 :6;
+ u_int64_t c :1;
+ u_int64_t y :1;
+ u_int64_t pos6b :6;
+ u_int64_t r3 :7;
+ u_int64_t p2 :6;
+ u_int64_t ta :1;
+ u_int64_t x2 :2;
+ u_int64_t tb :1;
+ u_int64_t op :4;
+ } I16;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t p1 :6;
+ u_int64_t c :1;
+ u_int64_t y :1;
+ u_int64_t resv :6;
+ u_int64_t r3 :7;
+ u_int64_t p2 :6;
+ u_int64_t ta :1;
+ u_int64_t x2 :2;
+ u_int64_t tb :1;
+ u_int64_t op :4;
+ } I17;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm20a :20;
+ u_int64_t resv :1;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t i :1;
+ u_int64_t op :4;
+ } I19;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm7a :7;
+ u_int64_t r2 :7;
+ u_int64_t imm13c :13;
+ u_int64_t x3 :3;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } I20;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t b1 :3;
+ u_int64_t resv1 :4;
+ u_int64_t r2 :7;
+ u_int64_t wh :2;
+ u_int64_t x :1;
+ u_int64_t ih :1;
+ u_int64_t timm9c :9;
+ u_int64_t x3 :3;
+ u_int64_t resv2 :1;
+ u_int64_t op :4;
+ } I21;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t b2 :3;
+ u_int64_t resv1 :11;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv2 :1;
+ u_int64_t op :4;
+ } I22;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t mask7a :7;
+ u_int64_t r2 :7;
+ u_int64_t resv1 :4;
+ u_int64_t mask8c :8;
+ u_int64_t resv2 :1;
+ u_int64_t x3 :3;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } I23;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm27a :27;
+ u_int64_t x3 :3;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } I24;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv1 :14;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv2 :1;
+ u_int64_t op :4;
+ } I25;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv1 :7;
+ u_int64_t r2 :7;
+ u_int64_t ar3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv2 :1;
+ u_int64_t op :4;
+ } I26;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv1 :7;
+ u_int64_t imm7b :7;
+ u_int64_t ar3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } I27;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv1 :7;
+ u_int64_t ar3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv2 :1;
+ u_int64_t op :4;
+ } I28;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv1 :7;
+ u_int64_t r3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv2 :1;
+ u_int64_t op :4;
+ } I29;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv7 :7;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M1;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M2, M16;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t imm7b :7;
+ u_int64_t r3 :7;
+ u_int64_t i :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M3;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M4;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm7a :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t i :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M5;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t resv7 :7;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M6;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M7;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t imm7b :7;
+ u_int64_t r3 :7;
+ u_int64_t i :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M8;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t f2 :7;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M9;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm7a :7;
+ u_int64_t f2 :7;
+ u_int64_t r3 :7;
+ u_int64_t i :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M10;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t f2 :7;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M11, M12;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv14 :14;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M13;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M14;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t imm7b :7;
+ u_int64_t r3 :7;
+ u_int64_t i :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M15;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t i2b :2;
+ u_int64_t s :1;
+ u_int64_t resv4 :4;
+ u_int64_t r3 :7;
+ u_int64_t x :1;
+ u_int64_t hint :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M17;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t r2 :7;
+ u_int64_t resv7 :7;
+ u_int64_t x :1;
+ u_int64_t resv2 :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M18;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t f2 :7;
+ u_int64_t resv7 :7;
+ u_int64_t x :1;
+ u_int64_t resv2 :2;
+ u_int64_t x6 :6;
+ u_int64_t m :1;
+ u_int64_t op :4;
+ } M19;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm7a :7;
+ u_int64_t r2 :7;
+ u_int64_t imm13c :13;
+ u_int64_t x3 :3;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M20;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm7a :7;
+ u_int64_t f2 :7;
+ u_int64_t imm13c :13;
+ u_int64_t x3 :3;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M21;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t imm20b :20;
+ u_int64_t x3 :3;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M22;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t imm20b :20;
+ u_int64_t x3 :3;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M23;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv21 :21;
+ u_int64_t x4 :4;
+ u_int64_t x2 :2;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M24, M25;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv14 :14;
+ u_int64_t x4 :4;
+ u_int64_t x2 :2;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M26;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t resv14 :14;
+ u_int64_t x4 :4;
+ u_int64_t x2 :2;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M27;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv14 :14;
+ u_int64_t r3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M28;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t r2 :7;
+ u_int64_t ar3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M29;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t imm7b :7;
+ u_int64_t ar3 :7;
+ u_int64_t x4 :4;
+ u_int64_t x2 :2;
+ u_int64_t x3 :3;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } M30;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv7 :7;
+ u_int64_t ar3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M31;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t r2 :7;
+ u_int64_t cr3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M32;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv7 :7;
+ u_int64_t cr3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M33;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t sof :7;
+ u_int64_t sol :7;
+ u_int64_t sor :4;
+ u_int64_t resv2 :2;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M34;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7a :7;
+ u_int64_t r2 :7;
+ u_int64_t resv7b :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M35;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv14 :14;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M36;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm20a :20;
+ u_int64_t resv1 :1;
+ u_int64_t x4 :4;
+ u_int64_t x2 :2;
+ u_int64_t x3 :3;
+ u_int64_t i :1;
+ u_int64_t op :4;
+ } M37;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M38;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t i2b :2;
+ u_int64_t resv5 :5;
+ u_int64_t r3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M39;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t i2b :2;
+ u_int64_t resv5 :5;
+ u_int64_t r3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M40;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7a :7;
+ u_int64_t r2 :7;
+ u_int64_t resv7b :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M41;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t r2 :7;
+ u_int64_t r3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M42, M45;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t resv7 :7;
+ u_int64_t r3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } M43, M46;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm21a :21;
+ u_int64_t x4 :4;
+ u_int64_t i2d :2;
+ u_int64_t x3 :3;
+ u_int64_t i :1;
+ u_int64_t op :4;
+ } M44;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t btype :3;
+ u_int64_t resv3 :3;
+ u_int64_t p :1;
+ u_int64_t imm20b :20;
+ u_int64_t wh :2;
+ u_int64_t d :1;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } B1, B2;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t b1 :3;
+ u_int64_t resv3 :3;
+ u_int64_t p :1;
+ u_int64_t imm20b :20;
+ u_int64_t wh :2;
+ u_int64_t d :1;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } B3;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t btype :3;
+ u_int64_t resv3 :3;
+ u_int64_t p :1;
+ u_int64_t b2 :3;
+ u_int64_t resv11 :11;
+ u_int64_t x6 :6;
+ u_int64_t wh :2;
+ u_int64_t d :1;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } B4;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t b1 :3;
+ u_int64_t resv3 :3;
+ u_int64_t p :1;
+ u_int64_t b2 :3;
+ u_int64_t resv17 :17;
+ u_int64_t wh :2;
+ u_int64_t d :1;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } B5;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t wh :3;
+ u_int64_t resv1 :1;
+ u_int64_t timm7a :7;
+ u_int64_t imm20b :20;
+ u_int64_t t2e :2;
+ u_int64_t ih :1;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } B6;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t wh :3;
+ u_int64_t resv1a :1;
+ u_int64_t timm7a :7;
+ u_int64_t b2 :3;
+ u_int64_t resv11 :11;
+ u_int64_t x6 :6;
+ u_int64_t t2e :2;
+ u_int64_t ih :1;
+ u_int64_t resv1b :1;
+ u_int64_t op :4;
+ } B7;
+ struct {
+ u_int64_t zero :6;
+ u_int64_t resv21 :21;
+ u_int64_t x6 :6;
+ u_int64_t resv4 :4;
+ u_int64_t op :4;
+ } B8;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm20a :20;
+ u_int64_t resv1 :1;
+ u_int64_t x6 :6;
+ u_int64_t resv3 :3;
+ u_int64_t i :1;
+ u_int64_t op :4;
+ } B9;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t f2 :7;
+ u_int64_t f3 :7;
+ u_int64_t f4 :7;
+ u_int64_t sf :2;
+ u_int64_t x :1;
+ u_int64_t op :4;
+ } F1;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t f2 :7;
+ u_int64_t f3 :7;
+ u_int64_t f4 :7;
+ u_int64_t x2 :2;
+ u_int64_t x :1;
+ u_int64_t op :4;
+ } F2;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t f2 :7;
+ u_int64_t f3 :7;
+ u_int64_t f4 :7;
+ u_int64_t resv2 :2;
+ u_int64_t x :1;
+ u_int64_t op :4;
+ } F3;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t p1 :6;
+ u_int64_t ta :1;
+ u_int64_t f2 :7;
+ u_int64_t f3 :7;
+ u_int64_t p2 :6;
+ u_int64_t ra :1;
+ u_int64_t sf :2;
+ u_int64_t rb :1;
+ u_int64_t op :4;
+ } F4;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t p1 :6;
+ u_int64_t ta :1;
+ u_int64_t f2 :7;
+ u_int64_t fclass7c:7;
+ u_int64_t p2 :6;
+ u_int64_t fc2 :2;
+ u_int64_t resv2 :2;
+ u_int64_t op :4;
+ } F5;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t f2 :7;
+ u_int64_t f3 :7;
+ u_int64_t p2 :6;
+ u_int64_t x :1;
+ u_int64_t sf :2;
+ u_int64_t q :1;
+ u_int64_t op :4;
+ } F6;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t resv7 :7;
+ u_int64_t f3 :7;
+ u_int64_t p2 :6;
+ u_int64_t x :1;
+ u_int64_t sf :2;
+ u_int64_t q :1;
+ u_int64_t op :4;
+ } F7;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t f2 :7;
+ u_int64_t f3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x :1;
+ u_int64_t sf :2;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } F8;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t f2 :7;
+ u_int64_t f3 :7;
+ u_int64_t x6 :6;
+ u_int64_t x :1;
+ u_int64_t resv3 :3;
+ u_int64_t op :4;
+ } F9;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t f2 :7;
+ u_int64_t resv7 :7;
+ u_int64_t x6 :6;
+ u_int64_t x :1;
+ u_int64_t sf :2;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } F10;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t f1 :7;
+ u_int64_t f2 :7;
+ u_int64_t resv7 :7;
+ u_int64_t x6 :6;
+ u_int64_t x :1;
+ u_int64_t resv3 :2;
+ u_int64_t op :4;
+ } F11;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv7 :7;
+ u_int64_t amask7b :7;
+ u_int64_t omask7c :7;
+ u_int64_t x6 :6;
+ u_int64_t x :1;
+ u_int64_t sf :2;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } F12;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t resv21 :7;
+ u_int64_t x6 :6;
+ u_int64_t x :1;
+ u_int64_t sf :2;
+ u_int64_t resv1 :1;
+ u_int64_t op :4;
+ } F13;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm20a :20;
+ u_int64_t resv1 :1;
+ u_int64_t x6 :6;
+ u_int64_t x :1;
+ u_int64_t sf :2;
+ u_int64_t s :1;
+ u_int64_t op :4;
+ } F14;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm20a :20;
+ u_int64_t resv1 :1;
+ u_int64_t x6 :6;
+ u_int64_t x :1;
+ u_int64_t resv2 :2;
+ u_int64_t i :1;
+ u_int64_t op :4;
+ } F15;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t imm20a :20;
+ u_int64_t resv1 :1;
+ u_int64_t x6 :6;
+ u_int64_t x3 :3;
+ u_int64_t i :1;
+ u_int64_t op :4;
+ } X1;
+ struct {
+ u_int64_t qp :6;
+ u_int64_t r1 :7;
+ u_int64_t imm7b :7;
+ u_int64_t vc :1;
+ u_int64_t ic :1;
+ u_int64_t imm5c :5;
+ u_int64_t imm9d :9;
+ u_int64_t i :1;
+ u_int64_t op :4;
+ } X2;
+ u_int64_t ins;
+};
+
+#endif /* _MACHINE_INST_H_ */
OpenPOWER on IntegriCloud