llvm-6502/test/MC/Disassembler/Hexagon/xtype_alu.txt

165 lines
4.4 KiB
Plaintext

# RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
0xd0 0xc0 0x94 0x80
# CHECK: r17:16 = abs(r21:20)
0x91 0xc0 0x95 0x8c
# CHECK: r17 = abs(r21)
0xb1 0xc0 0x95 0x8c
# CHECK: r17 = abs(r21):sat
0xff 0xd1 0x35 0xdb
# CHECK: r17 = add(r21, add(r31, #23))
0xff 0xd1 0xb5 0xdb
# CHECK: r17 = add(r21, sub(#23, r31))
0xf1 0xc2 0x15 0xe2
# CHECK: r17 += add(r21, #23)
0xf1 0xc2 0x95 0xe2
# CHECK: r17 -= add(r21, #23)
0x31 0xdf 0x15 0xef
# CHECK: r17 += add(r21, r31)
0x31 0xdf 0x95 0xef
# CHECK: r17 -= add(r21, r31)
0xf0 0xde 0x14 0xd3
# CHECK: r17:16 = add(r21:20, r31:30)
0x11 0xd5 0x1f 0xd5
# CHECK: r17 = add(r21.l, r31.l)
0x51 0xd5 0x1f 0xd5
# CHECK: r17 = add(r21.l, r31.h)
0x91 0xd5 0x1f 0xd5
# CHECK: r17 = add(r21.l, r31.l):sat
0xd1 0xd5 0x1f 0xd5
# CHECK: r17 = add(r21.l, r31.h):sat
0x11 0xd5 0x5f 0xd5
# CHECK: r17 = add(r21.l, r31.l):<<16
0x31 0xd5 0x5f 0xd5
# CHECK: r17 = add(r21.l, r31.h):<<16
0x51 0xd5 0x5f 0xd5
# CHECK: r17 = add(r21.h, r31.l):<<16
0x71 0xd5 0x5f 0xd5
# CHECK: r17 = add(r21.h, r31.h):<<16
0x91 0xd5 0x5f 0xd5
# CHECK: r17 = add(r21.l, r31.l):sat:<<16
0xb1 0xd5 0x5f 0xd5
# CHECK: r17 = add(r21.l, r31.h):sat:<<16
0xd1 0xd5 0x5f 0xd5
# CHECK: r17 = add(r21.h, r31.l):sat:<<16
0xf1 0xd5 0x5f 0xd5
# CHECK: r17 = add(r21.h, r31.h):sat:<<16
0x70 0xde 0xd4 0xc2
# CHECK: r17:16 = add(r21:20, r31:30, p3):carry
0x70 0xde 0xf4 0xc2
# CHECK: r17:16 = sub(r21:20, r31:30, p3):carry
0x90 0xc0 0x94 0x80
# CHECK: r17:16 = not(r21:20)
0xf0 0xde 0x14 0xd3
# CHECK: r17:16 = add(r21:20, r31:30)
0xb0 0xde 0x74 0xd3
# CHECK: r17:16 = add(r21:20, r31:30):sat
0xd0 0xde 0x74 0xd3
# CHECK: r17:16 = add(r21:20, r31:30):raw:lo
0xf0 0xde 0x74 0xd3
# CHECK: r17:16 = add(r21:20, r31:30):raw:hi
0x10 0xde 0xf4 0xd3
# CHECK: r17:16 = and(r21:20, r31:30)
0x30 0xd4 0xfe 0xd3
# CHECK: r17:16 = and(r21:20, ~r31:30)
0x50 0xde 0xf4 0xd3
# CHECK: r17:16 = or(r21:20, r31:30)
0x70 0xd4 0xfe 0xd3
# CHECK: r17:16 = or(r21:20, ~r31:30)
0x10 0xde 0x94 0xca
# CHECK: r17:16 ^= xor(r21:20, r31:30)
0xf1 0xc3 0x15 0xda
# CHECK: r17 |= and(r21, #31)
0xf5 0xc3 0x51 0xda
# CHECK: r17 = or(r21, and(r17, #31))
0xf1 0xc3 0x95 0xda
# CHECK: r17 |= or(r21, #31)
0x11 0xdf 0x35 0xef
# CHECK: r17 |= and(r21, ~r31)
0x31 0xdf 0x35 0xef
# CHECK: r17 &= and(r21, ~r31)
0x51 0xdf 0x35 0xef
# CHECK: r17 ^= and(r21, ~r31)
0x11 0xdf 0x55 0xef
# CHECK: r17 &= and(r21, r31)
0x31 0xdf 0x55 0xef
# CHECK: r17 &= or(r21, r31)
0x51 0xdf 0x55 0xef
# CHECK: r17 &= xor(r21, r31)
0x71 0xdf 0x55 0xef
# CHECK: r17 |= and(r21, r31)
0x71 0xdf 0x95 0xef
# CHECK: r17 ^= xor(r21, r31)
0x11 0xdf 0xd5 0xef
# CHECK: r17 |= or(r21, r31)
0x31 0xdf 0xd5 0xef
# CHECK: r17 |= xor(r21, r31)
0x51 0xdf 0xd5 0xef
# CHECK: r17 ^= and(r21, r31)
0x71 0xdf 0xd5 0xef
# CHECK: r17 ^= or(r21, r31)
0x11 0xdf 0xd5 0xd5
# CHECK: r17 = max(r21, r31)
0x91 0xdf 0xd5 0xd5
# CHECK: r17 = maxu(r21, r31)
0x90 0xde 0xd4 0xd3
# CHECK: r17:16 = max(r21:20, r31:30)
0xb0 0xde 0xd4 0xd3
# CHECK: r17:16 = maxu(r21:20, r31:30)
0x11 0xd5 0xbf 0xd5
# CHECK: r17 = min(r21, r31)
0x91 0xd5 0xbf 0xd5
# CHECK: r17 = minu(r21, r31)
0xd0 0xd4 0xbe 0xd3
# CHECK: r17:16 = min(r21:20, r31:30)
0xf0 0xd4 0xbe 0xd3
# CHECK: r17:16 = minu(r21:20, r31:30)
0xf1 0xdf 0xf5 0xd3
# CHECK: r17 = modwrap(r21, r31)
0xb0 0xc0 0x94 0x80
# CHECK: r17:16 = neg(r21:20)
0xd1 0xc0 0x95 0x8c
# CHECK: r17 = neg(r21):sat
0x11 0xdf 0xf5 0x8c
# CHECK: r17 = cround(r21, #31)
0x91 0xdf 0xf5 0x8c
# CHECK: r17 = round(r21, #31)
0xd1 0xdf 0xf5 0x8c
# CHECK: r17 = round(r21, #31):sat
0x11 0xdf 0xd5 0xc6
# CHECK: r17 = cround(r21, r31)
0x91 0xdf 0xd5 0xc6
# CHECK: r17 = round(r21, r31)
0xd1 0xdf 0xd5 0xc6
# CHECK: r17 = round(r21, r31):sat
0x71 0xd5 0x1f 0xef
# CHECK: r17 += sub(r21, r31)
0x11 0xd5 0x3f 0xd5
# CHECK: r17 = sub(r21.l, r31.l)
0x51 0xd5 0x3f 0xd5
# CHECK: r17 = sub(r21.l, r31.h)
0x91 0xd5 0x3f 0xd5
# CHECK: r17 = sub(r21.l, r31.l):sat
0xd1 0xd5 0x3f 0xd5
# CHECK: r17 = sub(r21.l, r31.h):sat
0x11 0xd5 0x7f 0xd5
# CHECK: r17 = sub(r21.l, r31.l):<<16
0x31 0xd5 0x7f 0xd5
# CHECK: r17 = sub(r21.l, r31.h):<<16
0x51 0xd5 0x7f 0xd5
# CHECK: r17 = sub(r21.h, r31.l):<<16
0x71 0xd5 0x7f 0xd5
# CHECK: r17 = sub(r21.h, r31.h):<<16
0x91 0xd5 0x7f 0xd5
# CHECK: r17 = sub(r21.l, r31.l):sat:<<16
0xb1 0xd5 0x7f 0xd5
# CHECK: r17 = sub(r21.l, r31.h):sat:<<16
0xd1 0xd5 0x7f 0xd5
# CHECK: r17 = sub(r21.h, r31.l):sat:<<16
0xf1 0xd5 0x7f 0xd5
# CHECK: r17 = sub(r21.h, r31.h):sat:<<16
0x10 0xc0 0x55 0x84
# CHECK: r17:16 = sxtw(r21)
0x90 0xde 0xf4 0xd3
# CHECK: r17:16 = xor(r21:20, r31:30)