diff options
Diffstat (limited to 'test/MC/Disassembler/Hexagon/cr.txt')
-rw-r--r-- | test/MC/Disassembler/Hexagon/cr.txt | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/test/MC/Disassembler/Hexagon/cr.txt b/test/MC/Disassembler/Hexagon/cr.txt new file mode 100644 index 0000000..6cf2b5f --- /dev/null +++ b/test/MC/Disassembler/Hexagon/cr.txt @@ -0,0 +1,78 @@ +# RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s +# Hexagon Programmer's Reference Manual 11.2 CR + +# Corner detection acceleration +0x93 0xe1 0x12 0x6b +# CHECK: p3 = !fastcorner9(p2, p1) +0x91 0xe3 0x02 0x6b +# CHECK: p1 = fastcorner9(p2, p3) + +# Logical reductions on predicates +0x01 0xc0 0x82 0x6b +# CHECK: p1 = any8(p2) +0x01 0xc0 0xa2 0x6b +# CHECK: p1 = all8(p2) + +# Looping instructions +0x08 0xc4 0x15 0x60 +# CHECK: loop0 +0x08 0xc4 0x35 0x60 +# CHECK: loop1 +0x68 0xc4 0x00 0x69 +# CHECK: loop0 +0x68 0xc4 0x20 0x69 +# CHECK: loop1 + +# Add to PC +0x91 0xca 0x49 0x6a +# CHECK: r17 = add(pc, #21) + +# Pipelined loop instructions +0x08 0xc4 0xb5 0x60 +# CHECK: p3 = sp1loop0 +0x08 0xc4 0xd5 0x60 +# CHECK: p3 = sp2loop0 +0x08 0xc4 0xf5 0x60 +# CHECK: p3 = sp3loop0 +0xa9 0xc4 0xa0 0x69 +# CHECK: p3 = sp1loop0 +0xa9 0xc4 0xc0 0x69 +# CHECK: p3 = sp2loop0 +0xa9 0xc4 0xe0 0x69 +# CHECK: p3 = sp3loop0 + +# Logical operations on predicates +0x01 0xc3 0x02 0x6b +# CHECK: p1 = and(p3, p2) +0xc1 0xc3 0x12 0x6b +# CHECK: p1 = and(p2, and(p3, p3)) +0x01 0xc3 0x22 0x6b +# CHECK: p1 = or(p3, p2) +0xc1 0xc3 0x32 0x6b +# CHECK: p1 = and(p2, or(p3, p3)) +0x01 0xc3 0x42 0x6b +# CHECK: p1 = xor(p2, p3) +0xc1 0xc3 0x52 0x6b +# CHECK: p1 = or(p2, and(p3, p3)) +0x01 0xc2 0x63 0x6b +# CHECK: p1 = and(p2, !p3) +0xc1 0xc3 0x72 0x6b +# CHECK: p1 = or(p2, or(p3, p3)) +0xc1 0xc3 0x92 0x6b +# CHECK: p1 = and(p2, and(p3, !p3)) +0xc1 0xc3 0xb2 0x6b +# CHECK: p1 = and(p2, or(p3, !p3)) +0x01 0xc0 0xc2 0x6b +# CHECK: p1 = not(p2) +0xc1 0xc3 0xd2 0x6b +# CHECK: p1 = or(p2, and(p3, !p3)) +0x01 0xc2 0xe3 0x6b +# CHECK: p1 = or(p2, !p3) +0xc1 0xc3 0xf2 0x6b +# CHECK: p1 = or(p2, or(p3, !p3)) + +# User control register transfer +0x0d 0xc0 0x35 0x62 +# CHECK: cs1 = r21 +0x11 0xc0 0x0d 0x6a +# CHECK: r17 = cs1 |