From dada623e234d9dae0a66f2d02b371ec36a5924a8 Mon Sep 17 00:00:00 2001 From: Dmitry Selyutin Date: Sat, 14 May 2022 12:04:36 +0000 Subject: [PATCH] ppc-opc: support ternlogi and terlogi. instructions --- gas/testsuite/gas/ppc/ppc.exp | 1 + gas/testsuite/gas/ppc/ternlogi.d | 225 +++++++++++++++++++++++++++++++ gas/testsuite/gas/ppc/ternlogi.s | 216 +++++++++++++++++++++++++++++ opcodes/ppc-opc.c | 13 ++ 4 files changed, 455 insertions(+) create mode 100644 gas/testsuite/gas/ppc/ternlogi.d create mode 100644 gas/testsuite/gas/ppc/ternlogi.s diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index 5f315efa0d6..d7c5165867c 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -156,3 +156,4 @@ run_dump_test "raw" run_dump_test "fsins" run_dump_test "fcoss" +run_dump_test "ternlogi" diff --git a/gas/testsuite/gas/ppc/ternlogi.d b/gas/testsuite/gas/ppc/ternlogi.d new file mode 100644 index 00000000000..f603fec23e4 --- /dev/null +++ b/gas/testsuite/gas/ppc/ternlogi.d @@ -0,0 +1,225 @@ +#as: -mfuture +#objdump: -dr -Mfuture + +.*: file format .* + + +Disassembly of section \.text: + +0+ <\.text>: + 0: 14 00 00 00 ternlogi r0,r0,r0,0 + 4: 14 00 00 01 ternlogi. r0,r0,r0,0 + 8: 14 00 02 a8 ternlogi r0,r0,r0,85 + c: 14 00 02 a9 ternlogi. r0,r0,r0,85 + 10: 14 00 05 50 ternlogi r0,r0,r0,170 + 14: 14 00 05 51 ternlogi. r0,r0,r0,170 + 18: 14 00 07 f8 ternlogi r0,r0,r0,255 + 1c: 14 00 07 f9 ternlogi. r0,r0,r0,255 + 20: 14 00 a8 00 ternlogi r0,r0,r21,0 + 24: 14 00 a8 01 ternlogi. r0,r0,r21,0 + 28: 14 00 aa a8 ternlogi r0,r0,r21,85 + 2c: 14 00 aa a9 ternlogi. r0,r0,r21,85 + 30: 14 00 ad 50 ternlogi r0,r0,r21,170 + 34: 14 00 ad 51 ternlogi. r0,r0,r21,170 + 38: 14 00 af f8 ternlogi r0,r0,r21,255 + 3c: 14 00 af f9 ternlogi. r0,r0,r21,255 + 40: 14 00 f8 00 ternlogi r0,r0,r31,0 + 44: 14 00 f8 01 ternlogi. r0,r0,r31,0 + 48: 14 00 fa a8 ternlogi r0,r0,r31,85 + 4c: 14 00 fa a9 ternlogi. r0,r0,r31,85 + 50: 14 00 fd 50 ternlogi r0,r0,r31,170 + 54: 14 00 fd 51 ternlogi. r0,r0,r31,170 + 58: 14 00 ff f8 ternlogi r0,r0,r31,255 + 5c: 14 00 ff f9 ternlogi. r0,r0,r31,255 + 60: 14 15 00 00 ternlogi r0,r21,r0,0 + 64: 14 15 00 01 ternlogi. r0,r21,r0,0 + 68: 14 15 02 a8 ternlogi r0,r21,r0,85 + 6c: 14 15 02 a9 ternlogi. r0,r21,r0,85 + 70: 14 15 05 50 ternlogi r0,r21,r0,170 + 74: 14 15 05 51 ternlogi. r0,r21,r0,170 + 78: 14 15 07 f8 ternlogi r0,r21,r0,255 + 7c: 14 15 07 f9 ternlogi. r0,r21,r0,255 + 80: 14 15 a8 00 ternlogi r0,r21,r21,0 + 84: 14 15 a8 01 ternlogi. r0,r21,r21,0 + 88: 14 15 aa a8 ternlogi r0,r21,r21,85 + 8c: 14 15 aa a9 ternlogi. r0,r21,r21,85 + 90: 14 15 ad 50 ternlogi r0,r21,r21,170 + 94: 14 15 ad 51 ternlogi. r0,r21,r21,170 + 98: 14 15 af f8 ternlogi r0,r21,r21,255 + 9c: 14 15 af f9 ternlogi. r0,r21,r21,255 + a0: 14 15 f8 00 ternlogi r0,r21,r31,0 + a4: 14 15 f8 01 ternlogi. r0,r21,r31,0 + a8: 14 15 fa a8 ternlogi r0,r21,r31,85 + ac: 14 15 fa a9 ternlogi. r0,r21,r31,85 + b0: 14 15 fd 50 ternlogi r0,r21,r31,170 + b4: 14 15 fd 51 ternlogi. r0,r21,r31,170 + b8: 14 15 ff f8 ternlogi r0,r21,r31,255 + bc: 14 15 ff f9 ternlogi. r0,r21,r31,255 + c0: 14 1f 00 00 ternlogi r0,r31,r0,0 + c4: 14 1f 00 01 ternlogi. r0,r31,r0,0 + c8: 14 1f 02 a8 ternlogi r0,r31,r0,85 + cc: 14 1f 02 a9 ternlogi. r0,r31,r0,85 + d0: 14 1f 05 50 ternlogi r0,r31,r0,170 + d4: 14 1f 05 51 ternlogi. r0,r31,r0,170 + d8: 14 1f 07 f8 ternlogi r0,r31,r0,255 + dc: 14 1f 07 f9 ternlogi. r0,r31,r0,255 + e0: 14 1f a8 00 ternlogi r0,r31,r21,0 + e4: 14 1f a8 01 ternlogi. r0,r31,r21,0 + e8: 14 1f aa a8 ternlogi r0,r31,r21,85 + ec: 14 1f aa a9 ternlogi. r0,r31,r21,85 + f0: 14 1f ad 50 ternlogi r0,r31,r21,170 + f4: 14 1f ad 51 ternlogi. r0,r31,r21,170 + f8: 14 1f af f8 ternlogi r0,r31,r21,255 + fc: 14 1f af f9 ternlogi. r0,r31,r21,255 + 100: 14 1f f8 00 ternlogi r0,r31,r31,0 + 104: 14 1f f8 01 ternlogi. r0,r31,r31,0 + 108: 14 1f fa a8 ternlogi r0,r31,r31,85 + 10c: 14 1f fa a9 ternlogi. r0,r31,r31,85 + 110: 14 1f fd 50 ternlogi r0,r31,r31,170 + 114: 14 1f fd 51 ternlogi. r0,r31,r31,170 + 118: 14 1f ff f8 ternlogi r0,r31,r31,255 + 11c: 14 1f ff f9 ternlogi. r0,r31,r31,255 + 120: 16 a0 00 00 ternlogi r21,r0,r0,0 + 124: 16 a0 00 01 ternlogi. r21,r0,r0,0 + 128: 16 a0 02 a8 ternlogi r21,r0,r0,85 + 12c: 16 a0 02 a9 ternlogi. r21,r0,r0,85 + 130: 16 a0 05 50 ternlogi r21,r0,r0,170 + 134: 16 a0 05 51 ternlogi. r21,r0,r0,170 + 138: 16 a0 07 f8 ternlogi r21,r0,r0,255 + 13c: 16 a0 07 f9 ternlogi. r21,r0,r0,255 + 140: 16 a0 a8 00 ternlogi r21,r0,r21,0 + 144: 16 a0 a8 01 ternlogi. r21,r0,r21,0 + 148: 16 a0 aa a8 ternlogi r21,r0,r21,85 + 14c: 16 a0 aa a9 ternlogi. r21,r0,r21,85 + 150: 16 a0 ad 50 ternlogi r21,r0,r21,170 + 154: 16 a0 ad 51 ternlogi. r21,r0,r21,170 + 158: 16 a0 af f8 ternlogi r21,r0,r21,255 + 15c: 16 a0 af f9 ternlogi. r21,r0,r21,255 + 160: 16 a0 f8 00 ternlogi r21,r0,r31,0 + 164: 16 a0 f8 01 ternlogi. r21,r0,r31,0 + 168: 16 a0 fa a8 ternlogi r21,r0,r31,85 + 16c: 16 a0 fa a9 ternlogi. r21,r0,r31,85 + 170: 16 a0 fd 50 ternlogi r21,r0,r31,170 + 174: 16 a0 fd 51 ternlogi. r21,r0,r31,170 + 178: 16 a0 ff f8 ternlogi r21,r0,r31,255 + 17c: 16 a0 ff f9 ternlogi. r21,r0,r31,255 + 180: 16 b5 00 00 ternlogi r21,r21,r0,0 + 184: 16 b5 00 01 ternlogi. r21,r21,r0,0 + 188: 16 b5 02 a8 ternlogi r21,r21,r0,85 + 18c: 16 b5 02 a9 ternlogi. r21,r21,r0,85 + 190: 16 b5 05 50 ternlogi r21,r21,r0,170 + 194: 16 b5 05 51 ternlogi. r21,r21,r0,170 + 198: 16 b5 07 f8 ternlogi r21,r21,r0,255 + 19c: 16 b5 07 f9 ternlogi. r21,r21,r0,255 + 1a0: 16 b5 a8 00 ternlogi r21,r21,r21,0 + 1a4: 16 b5 a8 01 ternlogi. r21,r21,r21,0 + 1a8: 16 b5 aa a8 ternlogi r21,r21,r21,85 + 1ac: 16 b5 aa a9 ternlogi. r21,r21,r21,85 + 1b0: 16 b5 ad 50 ternlogi r21,r21,r21,170 + 1b4: 16 b5 ad 51 ternlogi. r21,r21,r21,170 + 1b8: 16 b5 af f8 ternlogi r21,r21,r21,255 + 1bc: 16 b5 af f9 ternlogi. r21,r21,r21,255 + 1c0: 16 b5 f8 00 ternlogi r21,r21,r31,0 + 1c4: 16 b5 f8 01 ternlogi. r21,r21,r31,0 + 1c8: 16 b5 fa a8 ternlogi r21,r21,r31,85 + 1cc: 16 b5 fa a9 ternlogi. r21,r21,r31,85 + 1d0: 16 b5 fd 50 ternlogi r21,r21,r31,170 + 1d4: 16 b5 fd 51 ternlogi. r21,r21,r31,170 + 1d8: 16 b5 ff f8 ternlogi r21,r21,r31,255 + 1dc: 16 b5 ff f9 ternlogi. r21,r21,r31,255 + 1e0: 16 bf 00 00 ternlogi r21,r31,r0,0 + 1e4: 16 bf 00 01 ternlogi. r21,r31,r0,0 + 1e8: 16 bf 02 a8 ternlogi r21,r31,r0,85 + 1ec: 16 bf 02 a9 ternlogi. r21,r31,r0,85 + 1f0: 16 bf 05 50 ternlogi r21,r31,r0,170 + 1f4: 16 bf 05 51 ternlogi. r21,r31,r0,170 + 1f8: 16 bf 07 f8 ternlogi r21,r31,r0,255 + 1fc: 16 bf 07 f9 ternlogi. r21,r31,r0,255 + 200: 16 bf a8 00 ternlogi r21,r31,r21,0 + 204: 16 bf a8 01 ternlogi. r21,r31,r21,0 + 208: 16 bf aa a8 ternlogi r21,r31,r21,85 + 20c: 16 bf aa a9 ternlogi. r21,r31,r21,85 + 210: 16 bf ad 50 ternlogi r21,r31,r21,170 + 214: 16 bf ad 51 ternlogi. r21,r31,r21,170 + 218: 16 bf af f8 ternlogi r21,r31,r21,255 + 21c: 16 bf af f9 ternlogi. r21,r31,r21,255 + 220: 16 bf f8 00 ternlogi r21,r31,r31,0 + 224: 16 bf f8 01 ternlogi. r21,r31,r31,0 + 228: 16 bf fa a8 ternlogi r21,r31,r31,85 + 22c: 16 bf fa a9 ternlogi. r21,r31,r31,85 + 230: 16 bf fd 50 ternlogi r21,r31,r31,170 + 234: 16 bf fd 51 ternlogi. r21,r31,r31,170 + 238: 16 bf ff f8 ternlogi r21,r31,r31,255 + 23c: 16 bf ff f9 ternlogi. r21,r31,r31,255 + 240: 17 e0 00 00 ternlogi r31,r0,r0,0 + 244: 17 e0 00 01 ternlogi. r31,r0,r0,0 + 248: 17 e0 02 a8 ternlogi r31,r0,r0,85 + 24c: 17 e0 02 a9 ternlogi. r31,r0,r0,85 + 250: 17 e0 05 50 ternlogi r31,r0,r0,170 + 254: 17 e0 05 51 ternlogi. r31,r0,r0,170 + 258: 17 e0 07 f8 ternlogi r31,r0,r0,255 + 25c: 17 e0 07 f9 ternlogi. r31,r0,r0,255 + 260: 17 e0 a8 00 ternlogi r31,r0,r21,0 + 264: 17 e0 a8 01 ternlogi. r31,r0,r21,0 + 268: 17 e0 aa a8 ternlogi r31,r0,r21,85 + 26c: 17 e0 aa a9 ternlogi. r31,r0,r21,85 + 270: 17 e0 ad 50 ternlogi r31,r0,r21,170 + 274: 17 e0 ad 51 ternlogi. r31,r0,r21,170 + 278: 17 e0 af f8 ternlogi r31,r0,r21,255 + 27c: 17 e0 af f9 ternlogi. r31,r0,r21,255 + 280: 17 e0 f8 00 ternlogi r31,r0,r31,0 + 284: 17 e0 f8 01 ternlogi. r31,r0,r31,0 + 288: 17 e0 fa a8 ternlogi r31,r0,r31,85 + 28c: 17 e0 fa a9 ternlogi. r31,r0,r31,85 + 290: 17 e0 fd 50 ternlogi r31,r0,r31,170 + 294: 17 e0 fd 51 ternlogi. r31,r0,r31,170 + 298: 17 e0 ff f8 ternlogi r31,r0,r31,255 + 29c: 17 e0 ff f9 ternlogi. r31,r0,r31,255 + 2a0: 17 f5 00 00 ternlogi r31,r21,r0,0 + 2a4: 17 f5 00 01 ternlogi. r31,r21,r0,0 + 2a8: 17 f5 02 a8 ternlogi r31,r21,r0,85 + 2ac: 17 f5 02 a9 ternlogi. r31,r21,r0,85 + 2b0: 17 f5 05 50 ternlogi r31,r21,r0,170 + 2b4: 17 f5 05 51 ternlogi. r31,r21,r0,170 + 2b8: 17 f5 07 f8 ternlogi r31,r21,r0,255 + 2bc: 17 f5 07 f9 ternlogi. r31,r21,r0,255 + 2c0: 17 f5 a8 00 ternlogi r31,r21,r21,0 + 2c4: 17 f5 a8 01 ternlogi. r31,r21,r21,0 + 2c8: 17 f5 aa a8 ternlogi r31,r21,r21,85 + 2cc: 17 f5 aa a9 ternlogi. r31,r21,r21,85 + 2d0: 17 f5 ad 50 ternlogi r31,r21,r21,170 + 2d4: 17 f5 ad 51 ternlogi. r31,r21,r21,170 + 2d8: 17 f5 af f8 ternlogi r31,r21,r21,255 + 2dc: 17 f5 af f9 ternlogi. r31,r21,r21,255 + 2e0: 17 f5 f8 00 ternlogi r31,r21,r31,0 + 2e4: 17 f5 f8 01 ternlogi. r31,r21,r31,0 + 2e8: 17 f5 fa a8 ternlogi r31,r21,r31,85 + 2ec: 17 f5 fa a9 ternlogi. r31,r21,r31,85 + 2f0: 17 f5 fd 50 ternlogi r31,r21,r31,170 + 2f4: 17 f5 fd 51 ternlogi. r31,r21,r31,170 + 2f8: 17 f5 ff f8 ternlogi r31,r21,r31,255 + 2fc: 17 f5 ff f9 ternlogi. r31,r21,r31,255 + 300: 17 ff 00 00 ternlogi r31,r31,r0,0 + 304: 17 ff 00 01 ternlogi. r31,r31,r0,0 + 308: 17 ff 02 a8 ternlogi r31,r31,r0,85 + 30c: 17 ff 02 a9 ternlogi. r31,r31,r0,85 + 310: 17 ff 05 50 ternlogi r31,r31,r0,170 + 314: 17 ff 05 51 ternlogi. r31,r31,r0,170 + 318: 17 ff 07 f8 ternlogi r31,r31,r0,255 + 31c: 17 ff 07 f9 ternlogi. r31,r31,r0,255 + 320: 17 ff a8 00 ternlogi r31,r31,r21,0 + 324: 17 ff a8 01 ternlogi. r31,r31,r21,0 + 328: 17 ff aa a8 ternlogi r31,r31,r21,85 + 32c: 17 ff aa a9 ternlogi. r31,r31,r21,85 + 330: 17 ff ad 50 ternlogi r31,r31,r21,170 + 334: 17 ff ad 51 ternlogi. r31,r31,r21,170 + 338: 17 ff af f8 ternlogi r31,r31,r21,255 + 33c: 17 ff af f9 ternlogi. r31,r31,r21,255 + 340: 17 ff f8 00 ternlogi r31,r31,r31,0 + 344: 17 ff f8 01 ternlogi. r31,r31,r31,0 + 348: 17 ff fa a8 ternlogi r31,r31,r31,85 + 34c: 17 ff fa a9 ternlogi. r31,r31,r31,85 + 350: 17 ff fd 50 ternlogi r31,r31,r31,170 + 354: 17 ff fd 51 ternlogi. r31,r31,r31,170 + 358: 17 ff ff f8 ternlogi r31,r31,r31,255 + 35c: 17 ff ff f9 ternlogi. r31,r31,r31,255 diff --git a/gas/testsuite/gas/ppc/ternlogi.s b/gas/testsuite/gas/ppc/ternlogi.s new file mode 100644 index 00000000000..52f1addc07a --- /dev/null +++ b/gas/testsuite/gas/ppc/ternlogi.s @@ -0,0 +1,216 @@ +ternlogi 0,0,0,0 +ternlogi. 0,0,0,0 +ternlogi 0,0,0,85 +ternlogi. 0,0,0,85 +ternlogi 0,0,0,170 +ternlogi. 0,0,0,170 +ternlogi 0,0,0,255 +ternlogi. 0,0,0,255 +ternlogi 0,0,21,0 +ternlogi. 0,0,21,0 +ternlogi 0,0,21,85 +ternlogi. 0,0,21,85 +ternlogi 0,0,21,170 +ternlogi. 0,0,21,170 +ternlogi 0,0,21,255 +ternlogi. 0,0,21,255 +ternlogi 0,0,31,0 +ternlogi. 0,0,31,0 +ternlogi 0,0,31,85 +ternlogi. 0,0,31,85 +ternlogi 0,0,31,170 +ternlogi. 0,0,31,170 +ternlogi 0,0,31,255 +ternlogi. 0,0,31,255 +ternlogi 0,21,0,0 +ternlogi. 0,21,0,0 +ternlogi 0,21,0,85 +ternlogi. 0,21,0,85 +ternlogi 0,21,0,170 +ternlogi. 0,21,0,170 +ternlogi 0,21,0,255 +ternlogi. 0,21,0,255 +ternlogi 0,21,21,0 +ternlogi. 0,21,21,0 +ternlogi 0,21,21,85 +ternlogi. 0,21,21,85 +ternlogi 0,21,21,170 +ternlogi. 0,21,21,170 +ternlogi 0,21,21,255 +ternlogi. 0,21,21,255 +ternlogi 0,21,31,0 +ternlogi. 0,21,31,0 +ternlogi 0,21,31,85 +ternlogi. 0,21,31,85 +ternlogi 0,21,31,170 +ternlogi. 0,21,31,170 +ternlogi 0,21,31,255 +ternlogi. 0,21,31,255 +ternlogi 0,31,0,0 +ternlogi. 0,31,0,0 +ternlogi 0,31,0,85 +ternlogi. 0,31,0,85 +ternlogi 0,31,0,170 +ternlogi. 0,31,0,170 +ternlogi 0,31,0,255 +ternlogi. 0,31,0,255 +ternlogi 0,31,21,0 +ternlogi. 0,31,21,0 +ternlogi 0,31,21,85 +ternlogi. 0,31,21,85 +ternlogi 0,31,21,170 +ternlogi. 0,31,21,170 +ternlogi 0,31,21,255 +ternlogi. 0,31,21,255 +ternlogi 0,31,31,0 +ternlogi. 0,31,31,0 +ternlogi 0,31,31,85 +ternlogi. 0,31,31,85 +ternlogi 0,31,31,170 +ternlogi. 0,31,31,170 +ternlogi 0,31,31,255 +ternlogi. 0,31,31,255 +ternlogi 21,0,0,0 +ternlogi. 21,0,0,0 +ternlogi 21,0,0,85 +ternlogi. 21,0,0,85 +ternlogi 21,0,0,170 +ternlogi. 21,0,0,170 +ternlogi 21,0,0,255 +ternlogi. 21,0,0,255 +ternlogi 21,0,21,0 +ternlogi. 21,0,21,0 +ternlogi 21,0,21,85 +ternlogi. 21,0,21,85 +ternlogi 21,0,21,170 +ternlogi. 21,0,21,170 +ternlogi 21,0,21,255 +ternlogi. 21,0,21,255 +ternlogi 21,0,31,0 +ternlogi. 21,0,31,0 +ternlogi 21,0,31,85 +ternlogi. 21,0,31,85 +ternlogi 21,0,31,170 +ternlogi. 21,0,31,170 +ternlogi 21,0,31,255 +ternlogi. 21,0,31,255 +ternlogi 21,21,0,0 +ternlogi. 21,21,0,0 +ternlogi 21,21,0,85 +ternlogi. 21,21,0,85 +ternlogi 21,21,0,170 +ternlogi. 21,21,0,170 +ternlogi 21,21,0,255 +ternlogi. 21,21,0,255 +ternlogi 21,21,21,0 +ternlogi. 21,21,21,0 +ternlogi 21,21,21,85 +ternlogi. 21,21,21,85 +ternlogi 21,21,21,170 +ternlogi. 21,21,21,170 +ternlogi 21,21,21,255 +ternlogi. 21,21,21,255 +ternlogi 21,21,31,0 +ternlogi. 21,21,31,0 +ternlogi 21,21,31,85 +ternlogi. 21,21,31,85 +ternlogi 21,21,31,170 +ternlogi. 21,21,31,170 +ternlogi 21,21,31,255 +ternlogi. 21,21,31,255 +ternlogi 21,31,0,0 +ternlogi. 21,31,0,0 +ternlogi 21,31,0,85 +ternlogi. 21,31,0,85 +ternlogi 21,31,0,170 +ternlogi. 21,31,0,170 +ternlogi 21,31,0,255 +ternlogi. 21,31,0,255 +ternlogi 21,31,21,0 +ternlogi. 21,31,21,0 +ternlogi 21,31,21,85 +ternlogi. 21,31,21,85 +ternlogi 21,31,21,170 +ternlogi. 21,31,21,170 +ternlogi 21,31,21,255 +ternlogi. 21,31,21,255 +ternlogi 21,31,31,0 +ternlogi. 21,31,31,0 +ternlogi 21,31,31,85 +ternlogi. 21,31,31,85 +ternlogi 21,31,31,170 +ternlogi. 21,31,31,170 +ternlogi 21,31,31,255 +ternlogi. 21,31,31,255 +ternlogi 31,0,0,0 +ternlogi. 31,0,0,0 +ternlogi 31,0,0,85 +ternlogi. 31,0,0,85 +ternlogi 31,0,0,170 +ternlogi. 31,0,0,170 +ternlogi 31,0,0,255 +ternlogi. 31,0,0,255 +ternlogi 31,0,21,0 +ternlogi. 31,0,21,0 +ternlogi 31,0,21,85 +ternlogi. 31,0,21,85 +ternlogi 31,0,21,170 +ternlogi. 31,0,21,170 +ternlogi 31,0,21,255 +ternlogi. 31,0,21,255 +ternlogi 31,0,31,0 +ternlogi. 31,0,31,0 +ternlogi 31,0,31,85 +ternlogi. 31,0,31,85 +ternlogi 31,0,31,170 +ternlogi. 31,0,31,170 +ternlogi 31,0,31,255 +ternlogi. 31,0,31,255 +ternlogi 31,21,0,0 +ternlogi. 31,21,0,0 +ternlogi 31,21,0,85 +ternlogi. 31,21,0,85 +ternlogi 31,21,0,170 +ternlogi. 31,21,0,170 +ternlogi 31,21,0,255 +ternlogi. 31,21,0,255 +ternlogi 31,21,21,0 +ternlogi. 31,21,21,0 +ternlogi 31,21,21,85 +ternlogi. 31,21,21,85 +ternlogi 31,21,21,170 +ternlogi. 31,21,21,170 +ternlogi 31,21,21,255 +ternlogi. 31,21,21,255 +ternlogi 31,21,31,0 +ternlogi. 31,21,31,0 +ternlogi 31,21,31,85 +ternlogi. 31,21,31,85 +ternlogi 31,21,31,170 +ternlogi. 31,21,31,170 +ternlogi 31,21,31,255 +ternlogi. 31,21,31,255 +ternlogi 31,31,0,0 +ternlogi. 31,31,0,0 +ternlogi 31,31,0,85 +ternlogi. 31,31,0,85 +ternlogi 31,31,0,170 +ternlogi. 31,31,0,170 +ternlogi 31,31,0,255 +ternlogi. 31,31,0,255 +ternlogi 31,31,21,0 +ternlogi. 31,31,21,0 +ternlogi 31,31,21,85 +ternlogi. 31,31,21,85 +ternlogi 31,31,21,170 +ternlogi. 31,31,21,170 +ternlogi 31,31,21,255 +ternlogi. 31,31,21,255 +ternlogi 31,31,31,0 +ternlogi. 31,31,31,0 +ternlogi 31,31,31,85 +ternlogi. 31,31,31,85 +ternlogi 31,31,31,170 +ternlogi. 31,31,31,170 +ternlogi 31,31,31,255 +ternlogi. 31,31,31,255 diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 14393b8ecd6..bb1a84b8d5d 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -3822,6 +3822,9 @@ const struct powerpc_operand powerpc_operands[] = #define HH DDD + 1 { 0x3, 13, NULL, NULL, 0 }, + +#define TLIf HH + 1 + { 0xff, 3, NULL, NULL, 0 }, }; const unsigned int num_powerpc_operands = (sizeof (powerpc_operands) @@ -4691,6 +4694,13 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands) #define APU_RT_MASK (APU_MASK | RT_MASK) #define APU_RA_MASK (APU_MASK | RA_MASK) +/* An TLI form instruction. */ +#define TLI(op, xop, rc) \ + (OP (op) \ + | ((((uint64_t)(xop)) & 0x3) << 1) \ + | (((uint64_t)(rc)) & 1)) +#define TLI_MASK TLI (0x3f, 0x3, 1) + /* The BO encodings used in extended conditional branch mnemonics. */ #define BODNZF (0x0) #define BODNZFP (0x1) @@ -5841,6 +5851,9 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"nmaclhwso.", XO (4, 494,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, {"dcbz_l", X (4,1014), XRT_MASK, PPCPS, 0, {RA, RB}}, +{"ternlogi", TLI(5,0,0), TLI_MASK, DRAFT, PPCVLE, {RT, RA, RB, TLIf}}, +{"ternlogi.", TLI(5,0,1), TLI_MASK, DRAFT, PPCVLE, {RT, RA, RB, TLIf}}, + {"lxvp", DQXP(6,0), DQXP_MASK, POWER10, PPCVLE, {XTP, DQ, RA0}}, {"stxvp", DQXP(6,1), DQXP_MASK, POWER10, PPCVLE, {XTP, DQ, RA0}}, -- 2.30.2