mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-29 13:29:28 +00:00
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225210 91177308-0d34-0410-b5e6-96231b3b80d8
165 lines
4.4 KiB
Plaintext
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)
|