diff options
Diffstat (limited to 'test/MC/Disassembler/Hexagon/st.txt')
-rw-r--r-- | test/MC/Disassembler/Hexagon/st.txt | 288 |
1 files changed, 288 insertions, 0 deletions
diff --git a/test/MC/Disassembler/Hexagon/st.txt b/test/MC/Disassembler/Hexagon/st.txt new file mode 100644 index 0000000..3b809d3 --- /dev/null +++ b/test/MC/Disassembler/Hexagon/st.txt @@ -0,0 +1,288 @@ +# RUN: llvm-mc -triple=hexagon -disassemble < %s | FileCheck %s +# Hexagon Programmer's Reference Manual 11.8 ST + +# Store doubleword +0x9e 0xf5 0xd1 0x3b +# CHECK: memd(r17 + r21<<#3) = r31:30 +0x28 0xd4 0xc0 0x48 +# CHECK: memd(##320) = r21:20 +0x15 0xd4 0xd1 0xa1 +# CHECK: memd(r17+#168) = r21:20 +0x02 0xf4 0xd1 0xa9 +# CHECK: memd(r17 ++ I:circ(m1)) = r21:20 +0x28 0xf4 0xd1 0xa9 +# CHECK: memd(r17 ++ #40:circ(m1)) = r21:20 +0x28 0xd4 0xd1 0xab +# CHECK: memd(r17++#40) = r21:20 +0x00 0xf4 0xd1 0xad +# CHECK: memd(r17++m1) = r21:20 +0x00 0xf4 0xd1 0xaf +# CHECK: memd(r17 ++ m1:brev) = r21:20 + +# Store doubleword conditionally +0xfe 0xf5 0xd1 0x34 +# CHECK: if (p3) memd(r17+r21<<#3) = r31:30 +0xfe 0xf5 0xd1 0x35 +# CHECK: if (!p3) memd(r17+r21<<#3) = r31:30 +0x03 0x40 0x45 0x85 0xfe 0xf5 0xd1 0x36 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memd(r17+r21<<#3) = r31:30 +0x03 0x40 0x45 0x85 0xfe 0xf5 0xd1 0x37 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memd(r17+r21<<#3) = r31:30 +0xab 0xde 0xd1 0x40 +# CHECK: if (p3) memd(r17+#168) = r31:30 +0xab 0xde 0xd1 0x44 +# CHECK: if (!p3) memd(r17+#168) = r31:30 +0x03 0x40 0x45 0x85 0xab 0xde 0xd1 0x42 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memd(r17+#168) = r31:30 +0x03 0x40 0x45 0x85 0xab 0xde 0xd1 0x46 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memd(r17+#168) = r31:30 +0x2b 0xf4 0xd1 0xab +# CHECK: if (p3) memd(r17++#40) = r21:20 +0x2f 0xf4 0xd1 0xab +# CHECK: if (!p3) memd(r17++#40) = r21:20 +0x03 0x40 0x45 0x85 0xab 0xf4 0xd1 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memd(r17++#40) = r21:20 +0x03 0x40 0x45 0x85 0xaf 0xf4 0xd1 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memd(r17++#40) = r21:20 + +# Store byte +0x9f 0xf5 0x11 0x3b +# CHECK: memb(r17 + r21<<#3) = r31 +0x9f 0xca 0x11 0x3c +# CHECK: memb(r17+#21)=#31 +0x15 0xd5 0x00 0x48 +# CHECK: memb(##21) = r21 +0x15 0xd5 0x11 0xa1 +# CHECK: memb(r17+#21) = r21 +0x02 0xf5 0x11 0xa9 +# CHECK: memb(r17 ++ I:circ(m1)) = r21 +0x28 0xf5 0x11 0xa9 +# CHECK: memb(r17 ++ #5:circ(m1)) = r21 +0x28 0xd5 0x11 0xab +# CHECK: memb(r17++#5) = r21 +0x00 0xf5 0x11 0xad +# CHECK: memb(r17++m1) = r21 +0x00 0xf5 0x11 0xaf +# CHECK: memb(r17 ++ m1:brev) = r21 + +# Store byte conditionally +0xff 0xf5 0x11 0x34 +# CHECK: if (p3) memb(r17+r21<<#3) = r31 +0xff 0xf5 0x11 0x35 +# CHECK: if (!p3) memb(r17+r21<<#3) = r31 +0x03 0x40 0x45 0x85 0xff 0xf5 0x11 0x36 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memb(r17+r21<<#3) = r31 +0x03 0x40 0x45 0x85 0xff 0xf5 0x11 0x37 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memb(r17+r21<<#3) = r31 +0xff 0xca 0x11 0x38 +# CHECK: if (p3) memb(r17+#21)=#31 +0xff 0xca 0x91 0x38 +# CHECK: if (!p3) memb(r17+#21)=#31 +0x03 0x40 0x45 0x85 0xff 0xca 0x11 0x39 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memb(r17+#21)=#31 +0x03 0x40 0x45 0x85 0xff 0xca 0x91 0x39 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memb(r17+#21)=#31 +0xab 0xdf 0x11 0x40 +# CHECK: if (p3) memb(r17+#21) = r31 +0xab 0xdf 0x11 0x44 +# CHECK: if (!p3) memb(r17+#21) = r31 +0x03 0x40 0x45 0x85 0xab 0xdf 0x11 0x42 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memb(r17+#21) = r31 +0x03 0x40 0x45 0x85 0xab 0xdf 0x11 0x46 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memb(r17+#21) = r31 +0x2b 0xf5 0x11 0xab +# CHECK: if (p3) memb(r17++#5) = r21 +0x2f 0xf5 0x11 0xab +# CHECK: if (!p3) memb(r17++#5) = r21 +0x03 0x40 0x45 0x85 0xab 0xf5 0x11 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memb(r17++#5) = r21 +0x03 0x40 0x45 0x85 0xaf 0xf5 0x11 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memb(r17++#5) = r21 + +# Store halfword +0x9f 0xf5 0x51 0x3b +# CHECK: memh(r17 + r21<<#3) = r31 +0x9f 0xf5 0x71 0x3b +# CHECK: memh(r17 + r21<<#3) = r31.h +0x95 0xcf 0x31 0x3c +# CHECK: memh(r17+#62)=#21 +0x2a 0xd5 0x40 0x48 +# CHECK: memh(##84) = r21 +0x2a 0xd5 0x60 0x48 +# CHECK: memh(##84) = r21.h +0x15 0xdf 0x51 0xa1 +# CHECK: memh(r17+#42) = r31 +0x15 0xdf 0x71 0xa1 +# CHECK: memh(r17+#42) = r31.h +0x02 0xf5 0x51 0xa9 +# CHECK: memh(r17 ++ I:circ(m1)) = r21 +0x28 0xf5 0x51 0xa9 +# CHECK: memh(r17 ++ #10:circ(m1)) = r21 +0x02 0xf5 0x71 0xa9 +# CHECK: memh(r17 ++ I:circ(m1)) = r21.h +0x28 0xf5 0x71 0xa9 +# CHECK: memh(r17 ++ #10:circ(m1)) = r21.h +0x28 0xd5 0x51 0xab +# CHECK: memh(r17++#10) = r21 +0x28 0xd5 0x71 0xab +# CHECK: memh(r17++#10) = r21.h +0x00 0xf5 0x51 0xad +# CHECK: memh(r17++m1) = r21 +0x00 0xf5 0x71 0xad +# CHECK: memh(r17++m1) = r21.h +0x00 0xf5 0x51 0xaf +# CHECK: memh(r17 ++ m1:brev) = r21 +0x00 0xf5 0x71 0xaf +# CHECK: memh(r17 ++ m1:brev) = r21.h + +# Store halfword conditionally +0xff 0xf5 0x51 0x34 +# CHECK: if (p3) memh(r17+r21<<#3) = r31 +0xff 0xf5 0x71 0x34 +# CHECK: if (p3) memh(r17+r21<<#3) = r31.h +0xff 0xf5 0x51 0x35 +# CHECK: if (!p3) memh(r17+r21<<#3) = r31 +0xff 0xf5 0x71 0x35 +# CHECK: if (!p3) memh(r17+r21<<#3) = r31.h +0x03 0x40 0x45 0x85 0xff 0xf5 0x51 0x36 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memh(r17+r21<<#3) = r31 +0x03 0x40 0x45 0x85 0xff 0xf5 0x71 0x36 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memh(r17+r21<<#3) = r31.h +0x03 0x40 0x45 0x85 0xff 0xf5 0x51 0x37 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memh(r17+r21<<#3) = r31 +0x03 0x40 0x45 0x85 0xff 0xf5 0x71 0x37 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memh(r17+r21<<#3) = r31.h +0xf5 0xcf 0x31 0x38 +# CHECK: if (p3) memh(r17+#62)=#21 +0xf5 0xcf 0xb1 0x38 +# CHECK: if (!p3) memh(r17+#62)=#21 +0x03 0x40 0x45 0x85 0xf5 0xcf 0x31 0x39 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memh(r17+#62)=#21 +0x03 0x40 0x45 0x85 0xf5 0xcf 0xb1 0x39 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memh(r17+#62)=#21 +0xfb 0xd5 0x51 0x40 +# CHECK: if (p3) memh(r17+#62) = r21 +0xfb 0xd5 0x71 0x40 +# CHECK: if (p3) memh(r17+#62) = r21.h +0xfb 0xd5 0x51 0x44 +# CHECK: if (!p3) memh(r17+#62) = r21 +0xfb 0xd5 0x71 0x44 +# CHECK: if (!p3) memh(r17+#62) = r21.h +0x03 0x40 0x45 0x85 0xfb 0xd5 0x51 0x42 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memh(r17+#62) = r21 +0x03 0x40 0x45 0x85 0xfb 0xd5 0x71 0x42 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memh(r17+#62) = r21.h +0x03 0x40 0x45 0x85 0xfb 0xd5 0x51 0x46 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memh(r17+#62) = r21 +0x03 0x40 0x45 0x85 0xfb 0xd5 0x71 0x46 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memh(r17+#62) = r21.h +0x2b 0xf5 0x51 0xab +# CHECK: if (p3) memh(r17++#10) = r21 +0x2f 0xf5 0x51 0xab +# CHECK: if (!p3) memh(r17++#10) = r21 +0x03 0x40 0x45 0x85 0xab 0xf5 0x51 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memh(r17++#10) = r21 +0x03 0x40 0x45 0x85 0xaf 0xf5 0x51 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memh(r17++#10) = r21 +0x2b 0xf5 0x71 0xab +# CHECK: if (p3) memh(r17++#10) = r21.h +0x2f 0xf5 0x71 0xab +# CHECK: if (!p3) memh(r17++#10) = r21.h +0x03 0x40 0x45 0x85 0xab 0xf5 0x71 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memh(r17++#10) = r21.h +0x03 0x40 0x45 0x85 0xaf 0xf5 0x71 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memh(r17++#10) = r21.h + +# Store word +0x9f 0xf5 0x91 0x3b +# CHECK: memw(r17 + r21<<#3) = r31 +0x9f 0xca 0x51 0x3c +# CHECK: memw(r17+#84)=#31 +0x15 0xdf 0x91 0xa1 +# CHECK: memw(r17+#84) = r31 +0x14 0xd5 0x80 0x48 +# CHECK: memw(##80) = r21 +0x02 0xf5 0x91 0xa9 +# CHECK: memw(r17 ++ I:circ(m1)) = r21 +0x28 0xf5 0x91 0xa9 +# CHECK: memw(r17 ++ #20:circ(m1)) = r21 +0x28 0xd5 0x91 0xab +# CHECK: memw(r17++#20) = r21 +0x00 0xf5 0x91 0xad +# CHECK: memw(r17++m1) = r21 +0x00 0xf5 0x91 0xaf +# CHECK: memw(r17 ++ m1:brev) = r21 + +# Store word conditionally +0xff 0xf5 0x91 0x34 +# CHECK: if (p3) memw(r17+r21<<#3) = r31 +0xff 0xf5 0x91 0x35 +# CHECK: if (!p3) memw(r17+r21<<#3) = r31 +0x03 0x40 0x45 0x85 0xff 0xf5 0x91 0x36 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memw(r17+r21<<#3) = r31 +0x03 0x40 0x45 0x85 0xff 0xf5 0x91 0x37 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memw(r17+r21<<#3) = r31 +0xff 0xca 0x51 0x38 +# CHECK: if (p3) memw(r17+#84)=#31 +0xff 0xca 0xd1 0x38 +# CHECK: if (!p3) memw(r17+#84)=#31 +0x03 0x40 0x45 0x85 0xff 0xca 0x51 0x39 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memw(r17+#84)=#31 +0x03 0x40 0x45 0x85 0xff 0xca 0xd1 0x39 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memw(r17+#84)=#31 +0xab 0xdf 0x91 0x40 +# CHECK: if (p3) memw(r17+#84) = r31 +0xab 0xdf 0x91 0x44 +# CHECK: if (!p3) memw(r17+#84) = r31 +0x03 0x40 0x45 0x85 0xab 0xdf 0x91 0x42 +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memw(r17+#84) = r31 +0x03 0x40 0x45 0x85 0xab 0xdf 0x91 0x46 +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memw(r17+#84) = r31 +0x2b 0xf5 0x91 0xab +# CHECK: if (p3) memw(r17++#20) = r21 +0x2f 0xf5 0x91 0xab +# CHECK: if (!p3) memw(r17++#20) = r21 +0x03 0x40 0x45 0x85 0xaf 0xf5 0x91 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (!p3.new) memw(r17++#20) = r21 +0x03 0x40 0x45 0x85 0xab 0xf5 0x91 0xab +# CHECK: p3 = r5 +# CHECK-NEXT: if (p3.new) memw(r17++#20) = r21 + +# Allocate stack frame +0x1f 0xc0 0x9d 0xa0 +# CHECK: allocframe(#248)
\ No newline at end of file |