You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

763 lines
19 KiB

# RUN: llvm-mc -disassemble -triple lanai %s | FileCheck %s
0x0a 0xc4 0x00 0x00
# CHECK: add %r17, 0x0, %r21
0x0a 0xc4 0x12 0x34
# CHECK: add %r17, 0x1234, %r21
0x0a 0xc5 0x12 0x34
# CHECK: add %r17, 0x12340000, %r21
0x0a 0xc6 0x00 0x00
# CHECK: add.f %r17, 0x0, %r21
0x0a 0xc6 0x12 0x34
# CHECK: add.f %r17, 0x1234, %r21
0x0a 0xc7 0x12 0x34
# CHECK: add.f %r17, 0x12340000, %r21
0xca 0xc4 0x90 0x00
# CHECK: add %r17, %r18, %r21
0xca 0xc6 0x90 0x00
# CHECK: add.f %r17, %r18, %r21
0xca 0xc4 0x91 0x00
# CHECK: addc %r17, %r18, %r21
0xca 0xc6 0x91 0x00
# CHECK: addc.f %r17, %r18, %r21
0x1a 0xc4 0x00 0x00
# CHECK: addc %r17, 0x0, %r21
0x1a 0xc4 0x12 0x34
# CHECK: addc %r17, 0x1234, %r21
0x1a 0xc5 0x12 0x34
# CHECK: addc %r17, 0x12340000, %r21
0x1a 0xc6 0x00 0x00
# CHECK: addc.f %r17, 0x0, %r21
0x1a 0xc6 0x12 0x34
# CHECK: addc.f %r17, 0x1234, %r21
0x1a 0xc7 0x12 0x34
# CHECK: addc.f %r17, 0x12340000, %r21
0x4a 0xc4 0x12 0x34
# CHECK: and %r17, 0xffff1234, %r21
0x4a 0xc5 0x12 0x34
# CHECK: and %r17, 0x1234ffff, %r21
0x4a 0xc6 0x12 0x34
# CHECK: and.f %r17, 0xffff1234, %r21
0x4a 0xc7 0x12 0x34
# CHECK: and.f %r17, 0x1234ffff, %r21
0xca 0xc4 0x94 0x00
# CHECK: and %r17, %r18, %r21
0xca 0xc6 0x94 0x00
# CHECK: and.f %r17, %r18, %r21
0xe0 0x12 0x34 0x54
# CHECK: bt 0x123454
0xe0 0x12 0x34 0x55
# CHECK: bf 0x123454
0xe2 0x12 0x34 0x54
# CHECK: bugt 0x123454
0xe2 0x12 0x34 0x55
# CHECK: bule 0x123454
0xe4 0x12 0x34 0x54
# CHECK: bult 0x123454
0xe4 0x12 0x34 0x55
# CHECK: buge 0x123454
0xe6 0x12 0x34 0x54
# CHECK: bne 0x123454
0xe6 0x12 0x34 0x55
# CHECK: beq 0x123454
0xe8 0x12 0x34 0x54
# CHECK: bvc 0x123454
0xe8 0x12 0x34 0x55
# CHECK: bvs 0x123454
0xea 0x12 0x34 0x54
# CHECK: bpl 0x123454
0xea 0x12 0x34 0x55
# CHECK: bmi 0x123454
0xec 0x12 0x34 0x54
# CHECK: bge 0x123454
0xec 0x12 0x34 0x55
# CHECK: blt 0x123454
0xee 0x12 0x34 0x54
# CHECK: bgt 0x123454
0xc1 0x00 0x9d 0x00
# CHECK: bt %r19
0xe1 0x00 0x56 0x7a
# CHECK: bt.r 0x5678
0xe1 0x00 0x56 0x7b
# CHECK: bf.r 0x5678
0xe3 0x00 0x56 0x7a
# CHECK: bugt.r 0x5678
0xe3 0x00 0x56 0x7b
# CHECK: bule.r 0x5678
0xe5 0x00 0x56 0x7a
# CHECK: bult.r 0x5678
0xe5 0x00 0x56 0x7b
# CHECK: buge.r 0x5678
0xe7 0x00 0x56 0x7a
# CHECK: bne.r 0x5678
0xe7 0x00 0x56 0x7b
# CHECK: beq.r 0x5678
0xe9 0x00 0x56 0x7a
# CHECK: bvc.r 0x5678
0xe9 0x00 0x56 0x7b
# CHECK: bvs.r 0x5678
0xeb 0x00 0x56 0x7a
# CHECK: bpl.r 0x5678
0xeb 0x00 0x56 0x7b
# CHECK: bmi.r 0x5678
0xed 0x00 0x56 0x7a
# CHECK: bge.r 0x5678
0xed 0x00 0x56 0x7b
# CHECK: blt.r 0x5678
0xef 0x00 0x56 0x7a
# CHECK: bgt.r 0x5678
0x8a 0xc6 0x80 0x00
# CHECK: ld -32768[%r17], %r21
0x8a 0xc6 0xfc 0x00
# CHECK: ld -1024[%r17], %r21
0x8a 0xc4 0x00 0x00
# CHECK: ld 0[%r17], %r21
0x8a 0xc6 0x04 0x00
# CHECK: ld 1024[%r17], %r21
0x8a 0xc6 0x7f 0xff
# CHECK: ld 32767[%r17], %r21
0xaa 0xc6 0x90 0x02
# CHECK: ld [%r17 add %r18], %r21
0xaa 0xc6 0x90 0x03
# CHECK: uld [%r17 add %r18], %r21
0xfa 0xc7 0x0a 0x00
# CHECK: ld.h -512[%r17], %r21
0xfa 0xc7 0x0b 0xf3
# CHECK: ld.h -13[%r17], %r21
0xfa 0xc7 0x08 0x12
# CHECK: ld.h 18[%r17], %r21
0xfa 0xc7 0x09 0xff
# CHECK: ld.h 511[%r17], %r21
0xfa 0xc7 0x4a 0x00
# CHECK: ld.b -512[%r17], %r21
0xfa 0xc7 0x4b 0xf3
# CHECK: ld.b -13[%r17], %r21
0xfa 0xc7 0x48 0x12
# CHECK: ld.b 18[%r17], %r21
0xfa 0xc7 0x49 0xff
# CHECK: ld.b 511[%r17], %r21
0xfa 0xc7 0x1a 0x00
# CHECK: uld.h -512[%r17], %r21
0xfa 0xc7 0x1b 0xf3
# CHECK: uld.h -13[%r17], %r21
0xfa 0xc7 0x18 0x12
# CHECK: uld.h 18[%r17], %r21
0xfa 0xc7 0x19 0xff
# CHECK: uld.h 511[%r17], %r21
0xfa 0xc7 0x5a 0x00
# CHECK: uld.b -512[%r17], %r21
0xfa 0xc7 0x5b 0xf3
# CHECK: uld.b -13[%r17], %r21
0xfa 0xc7 0x58 0x12
# CHECK: uld.b 18[%r17], %r21
0xfa 0xc7 0x59 0xff
# CHECK: uld.b 511[%r17], %r21
0x8a 0xc7 0x80 0x00
# CHECK: ld -32768[*%r17], %r21
0x8a 0xc7 0xfc 0x00
# CHECK: ld -1024[*%r17], %r21
0x8a 0xc7 0x04 0x00
# CHECK: ld 1024[*%r17], %r21
0x8a 0xc7 0x7f 0xff
# CHECK: ld 32767[*%r17], %r21
0x8a 0xc7 0xff 0xfc
# CHECK: ld [--%r17], %r21
0x8a 0xc7 0x00 0x04
# CHECK: ld [++%r17], %r21
0xfa 0xc7 0x0f 0xfe
# CHECK: ld.h [--%r17], %r21
0xfa 0xc7 0x0c 0x02
# CHECK: ld.h [++%r17], %r21
0xfa 0xc7 0x1f 0xfe
# CHECK: uld.h [--%r17], %r21
0xfa 0xc7 0x1c 0x02
# CHECK: uld.h [++%r17], %r21
0xfa 0xc7 0x4f 0xff
# CHECK: ld.b [--%r17], %r21
0xfa 0xc7 0x4c 0x01
# CHECK: ld.b [++%r17], %r21
0xfa 0xc7 0x5f 0xff
# CHECK: uld.b [--%r17], %r21
0xfa 0xc7 0x5c 0x01
# CHECK: uld.b [++%r17], %r21
0xaa 0xc7 0x90 0x02
# CHECK: ld [*%r17 add %r18], %r21
0xfa 0xc7 0x0e 0x00
# CHECK: ld.h -512[*%r17], %r21
0xfa 0xc7 0x0f 0xf3
# CHECK: ld.h -13[*%r17], %r21
0xfa 0xc7 0x0c 0x12
# CHECK: ld.h 18[*%r17], %r21
0xfa 0xc7 0x0d 0xff
# CHECK: ld.h 511[*%r17], %r21
0xfa 0xc7 0x4e 0x00
# CHECK: ld.b -512[*%r17], %r21
0xfa 0xc7 0x4f 0xf3
# CHECK: ld.b -13[*%r17], %r21
0xfa 0xc7 0x4c 0x12
# CHECK: ld.b 18[*%r17], %r21
0xfa 0xc7 0x4d 0xff
# CHECK: ld.b 511[*%r17], %r21
0xfa 0xc7 0x1e 0x00
# CHECK: uld.h -512[*%r17], %r21
0xfa 0xc7 0x1f 0xf3
# CHECK: uld.h -13[*%r17], %r21
0xfa 0xc7 0x1c 0x12
# CHECK: uld.h 18[*%r17], %r21
0xfa 0xc7 0x1d 0xff
# CHECK: uld.h 511[*%r17], %r21
0xfa 0xc7 0x5e 0x00
# CHECK: uld.b -512[*%r17], %r21
0xfa 0xc7 0x5f 0xf3
# CHECK: uld.b -13[*%r17], %r21
0xfa 0xc7 0x5c 0x12
# CHECK: uld.b 18[*%r17], %r21
0xfa 0xc7 0x5d 0xff
# CHECK: uld.b 511[*%r17], %r21
0x8a 0xc5 0x80 0x00
# CHECK: ld -32768[%r17*], %r21
0x8a 0xc5 0xfc 0x00
# CHECK: ld -1024[%r17*], %r21
0x8a 0xc5 0x04 0x00
# CHECK: ld 1024[%r17*], %r21
0x8a 0xc5 0x7f 0xff
# CHECK: ld 32767[%r17*], %r21
0x8a 0xc5 0xff 0xfc
# CHECK: ld [%r17--], %r21
0x8a 0xc5 0x00 0x04
# CHECK: ld [%r17++], %r21
0xfa 0xc7 0x07 0xfe
# CHECK: ld.h [%r17--], %r21
0xfa 0xc7 0x04 0x02
# CHECK: ld.h [%r17++], %r21
0xfa 0xc7 0x17 0xfe
# CHECK: uld.h [%r17--], %r21
0xfa 0xc7 0x14 0x02
# CHECK: uld.h [%r17++], %r21
0xfa 0xc7 0x47 0xff
# CHECK: ld.b [%r17--], %r21
0xfa 0xc7 0x44 0x01
# CHECK: ld.b [%r17++], %r21
0xfa 0xc7 0x57 0xff
# CHECK: uld.b [%r17--], %r21
0xfa 0xc7 0x54 0x01
# CHECK: uld.b [%r17++], %r21
0xaa 0xc5 0x90 0x02
# CHECK: ld [%r17* add %r18], %r21
0xfa 0xc7 0x06 0x00
# CHECK: ld.h -512[%r17*], %r21
0xfa 0xc7 0x07 0xf3
# CHECK: ld.h -13[%r17*], %r21
0xfa 0xc7 0x04 0x12
# CHECK: ld.h 18[%r17*], %r21
0xfa 0xc7 0x05 0xff
# CHECK: ld.h 511[%r17*], %r21
0xfa 0xc7 0x46 0x00
# CHECK: ld.b -512[%r17*], %r21
0xfa 0xc7 0x47 0xf3
# CHECK: ld.b -13[%r17*], %r21
0xfa 0xc7 0x44 0x12
# CHECK: ld.b 18[%r17*], %r21
0xfa 0xc7 0x45 0xff
# CHECK: ld.b 511[%r17*], %r21
0xfa 0xc7 0x16 0x00
# CHECK: uld.h -512[%r17*], %r21
0xfa 0xc7 0x17 0xf3
# CHECK: uld.h -13[%r17*], %r21
0xfa 0xc7 0x14 0x12
# CHECK: uld.h 18[%r17*], %r21
0xfa 0xc7 0x15 0xff
# CHECK: uld.h 511[%r17*], %r21
0xfa 0xc7 0x56 0x00
# CHECK: uld.b -512[%r17*], %r21
0xfa 0xc7 0x57 0xf3
# CHECK: uld.b -13[%r17*], %r21
0xfa 0xc7 0x54 0x12
# CHECK: uld.b 18[%r17*], %r21
0xfa 0xc7 0x55 0xff
# CHECK: uld.b 511[%r17*], %r21
0xaa 0xc6 0x90 0x02
# CHECK: ld [%r17 add %r18], %r21
0xaa 0xc6 0x91 0x02
# CHECK: ld [%r17 addc %r18], %r21
0xaa 0xc6 0x92 0x02
# CHECK: ld [%r17 sub %r18], %r21
0xaa 0xc6 0x93 0x02
# CHECK: ld [%r17 subb %r18], %r21
0xaa 0xc6 0x94 0x02
# CHECK: ld [%r17 and %r18], %r21
0xaa 0xc6 0x95 0x02
# CHECK: ld [%r17 or %r18], %r21
0xaa 0xc6 0x96 0x02
# CHECK: ld [%r17 xor %r18], %r21
0xaa 0xc6 0x97 0x82
# CHECK: ld [%r17 sh %r18], %r21
0xaa 0xc6 0x97 0xc2
# CHECK: ld [%r17 sha %r18], %r21
0xaa 0xc7 0x90 0x02
# CHECK: ld [*%r17 add %r18], %r21
0xaa 0xc7 0x91 0x02
# CHECK: ld [*%r17 addc %r18], %r21
0xaa 0xc7 0x92 0x02
# CHECK: ld [*%r17 sub %r18], %r21
0xaa 0xc7 0x93 0x02
# CHECK: ld [*%r17 subb %r18], %r21
0xaa 0xc7 0x94 0x02
# CHECK: ld [*%r17 and %r18], %r21
0xaa 0xc7 0x95 0x02
# CHECK: ld [*%r17 or %r18], %r21
0xaa 0xc7 0x96 0x02
# CHECK: ld [*%r17 xor %r18], %r21
0xaa 0xc7 0x97 0x82
# CHECK: ld [*%r17 sh %r18], %r21
0xaa 0xc7 0x97 0xc2
# CHECK: ld [*%r17 sha %r18], %r21
0xaa 0xc5 0x90 0x02
# CHECK: ld [%r17* add %r18], %r21
0xaa 0xc5 0x91 0x02
# CHECK: ld [%r17* addc %r18], %r21
0xaa 0xc5 0x92 0x02
# CHECK: ld [%r17* sub %r18], %r21
0xaa 0xc5 0x93 0x02
# CHECK: ld [%r17* subb %r18], %r21
0xaa 0xc5 0x94 0x02
# CHECK: ld [%r17* and %r18], %r21
0xaa 0xc5 0x95 0x02
# CHECK: ld [%r17* or %r18], %r21
0xaa 0xc5 0x96 0x02
# CHECK: ld [%r17* xor %r18], %r21
0xaa 0xc5 0x97 0x82
# CHECK: ld [%r17* sh %r18], %r21
0xaa 0xc5 0x97 0xc2
# CHECK: ld [%r17* sha %r18], %r21
0xfa 0x84 0x23 0x44
# CHECK: ld [0x12344], %r21
0xda 0xc4 0x00 0x02
# CHECK: leadz %r17, %r21
0x08 0x80 0x00 0x00
# CHECK: mov 0x0, %r17
0x08 0x80 0x12 0x34
# CHECK: mov 0x1234, %r17
0x08 0x81 0x12 0x34
# CHECK: mov 0x12340000, %r17
0x08 0x81 0xaa 0xaa
# CHECK: mov 0xaaaa0000, %r17
0xc8 0xc8 0x00 0x00
# CHECK: mov %r18, %r17
0xf8 0x86 0x23 0x44
# CHECK: mov 0x12344, %r17
0x48 0x84 0x12 0x34
# CHECK: mov 0xffff1234, %r17
0x48 0x85 0x12 0x34
# CHECK: mov 0x1234ffff, %r17
0x00 0x00 0x00 0x01
# CHECK: nop
0x5a 0xc4 0x00 0x00
# CHECK: or %r17, 0x0, %r21
0x5a 0xc4 0x12 0x34
# CHECK: or %r17, 0x1234, %r21
0x5a 0xc5 0x12 0x34
# CHECK: or %r17, 0x12340000, %r21
0x5a 0xc6 0x00 0x00
# CHECK: or.f %r17, 0x0, %r21
0x5a 0xc6 0x12 0x34
# CHECK: or.f %r17, 0x1234, %r21
0x5a 0xc7 0x12 0x34
# CHECK: or.f %r17, 0x12340000, %r21
0xca 0xc4 0x95 0x00
# CHECK: or %r17, %r18, %r21
0xca 0xc6 0x95 0x00
# CHECK: or.f %r17, %r18, %r21
0xda 0xc4 0x00 0x01
# CHECK: popc %r17, %r21
0xe0 0x54 0x00 0x02
# CHECK: st %r21
0xe2 0x54 0x00 0x02
# CHECK: sugt %r21
0xe2 0x54 0x00 0x03
# CHECK: sule %r21
0xe4 0x54 0x00 0x02
# CHECK: sult %r21
0xe4 0x54 0x00 0x03
# CHECK: suge %r21
0xe6 0x54 0x00 0x02
# CHECK: sne %r21
0xe6 0x54 0x00 0x03
# CHECK: seq %r21
0xe8 0x54 0x00 0x02
# CHECK: svc %r21
0xe8 0x54 0x00 0x03
# CHECK: svs %r21
0xea 0x54 0x00 0x02
# CHECK: spl %r21
0xea 0x54 0x00 0x03
# CHECK: smi %r21
0xec 0x54 0x00 0x02
# CHECK: sge %r21
0xec 0x54 0x00 0x03
# CHECK: slt %r21
0xee 0x54 0x00 0x02
# CHECK: sgt %r21
0x7a 0xc4 0xff 0xe1
# CHECK: sh %r17, -0x1f, %r21
0x7a 0xc4 0xff 0xfb
# CHECK: sh %r17, -0x5, %r21
0x7a 0xc4 0x00 0x02
# CHECK: sh %r17, 0x2, %r21
0x7a 0xc4 0x00 0x1f
# CHECK: sh %r17, 0x1f, %r21
0x7a 0xc6 0xff 0xe1
# CHECK: sh.f %r17, -0x1f, %r21
0x7a 0xc6 0xff 0xfb
# CHECK: sh.f %r17, -0x5, %r21
0x7a 0xc6 0x00 0x02
# CHECK: sh.f %r17, 0x2, %r21
0x7a 0xc6 0x00 0x1f
# CHECK: sh.f %r17, 0x1f, %r21
0xca 0xc4 0x97 0x80
# CHECK: sh %r17, %r18, %r21
0xca 0xc6 0x97 0x80
# CHECK: sh.f %r17, %r18, %r21
0x7a 0xc5 0xff 0xe1
# CHECK: sha %r17, -0x1f, %r21
0x7a 0xc5 0xff 0xfb
# CHECK: sha %r17, -0x5, %r21
0x7a 0xc5 0x00 0x02
# CHECK: sha %r17, 0x2, %r21
0x7a 0xc5 0x00 0x1f
# CHECK: sha %r17, 0x1f, %r21
0x7a 0xc7 0xff 0xe1
# CHECK: sha.f %r17, -0x1f, %r21
0x7a 0xc7 0xff 0xfb
# CHECK: sha.f %r17, -0x5, %r21
0x7a 0xc7 0x00 0x02
# CHECK: sha.f %r17, 0x2, %r21
0x7a 0xc7 0x00 0x1f
# CHECK: sha.f %r17, 0x1f, %r21
0xca 0xc4 0x97 0xc0
# CHECK: sha %r17, %r18, %r21
0xca 0xc6 0x97 0xc0
# CHECK: sha.f %r17, %r18, %r21
0x98 0xce 0x80 0x00
# CHECK: st %r17, -32768[%r19]
0x98 0xce 0xfc 0x00
# CHECK: st %r17, -1024[%r19]
0x98 0xcc 0x00 0x00
# CHECK: st %r17, 0[%r19]
0x98 0xce 0x04 0x00
# CHECK: st %r17, 1024[%r19]
0x98 0xce 0x7f 0xff
# CHECK: st %r17, 32767[%r19]
0xf8 0xcf 0x2a 0x00
# CHECK: st.h %r17, -512[%r19]
0xf8 0xcf 0x2b 0xf3
# CHECK: st.h %r17, -13[%r19]
0xf8 0xcf 0x28 0x12
# CHECK: st.h %r17, 18[%r19]
0xf8 0xcf 0x29 0xff
# CHECK: st.h %r17, 511[%r19]
0xf8 0xcf 0x6a 0x00
# CHECK: st.b %r17, -512[%r19]
0xf8 0xcf 0x6b 0xf3
# CHECK: st.b %r17, -13[%r19]
0xf8 0xcf 0x68 0x12
# CHECK: st.b %r17, 18[%r19]
0xf8 0xcf 0x69 0xff
# CHECK: st.b %r17, 511[%r19]
0xb8 0xce 0x90 0x02
# CHECK: st %r17, [%r19 add %r18]
0xb8 0xce 0x90 0x00
# CHECK: st.h %r17, [%r19 add %r18]
0xb8 0xce 0x90 0x04
# CHECK: st.b %r17, [%r19 add %r18]
0x98 0xcf 0x80 0x00
# CHECK: st %r17, -32768[*%r19]
0x98 0xcf 0xfc 0x00
# CHECK: st %r17, -1024[*%r19]
0x98 0xcf 0x04 0x00
# CHECK: st %r17, 1024[*%r19]
0x98 0xcf 0x7f 0xff
# CHECK: st %r17, 32767[*%r19]
0xf8 0xcf 0x2e 0x00
# CHECK: st.h %r17, -512[*%r19]
0xf8 0xcf 0x2f 0xf3
# CHECK: st.h %r17, -13[*%r19]
0xf8 0xcf 0x2c 0x12
# CHECK: st.h %r17, 18[*%r19]
0xf8 0xcf 0x2d 0xff
# CHECK: st.h %r17, 511[*%r19]
0xf8 0xcf 0x6e 0x00
# CHECK: st.b %r17, -512[*%r19]
0xf8 0xcf 0x6f 0xf3
# CHECK: st.b %r17, -13[*%r19]
0xf8 0xcf 0x6c 0x12
# CHECK: st.b %r17, 18[*%r19]
0xf8 0xcf 0x6d 0xff
# CHECK: st.b %r17, 511[*%r19]
0x98 0xcf 0xff 0xfc
# CHECK: st %r17, [--%r19]
0x98 0xcf 0x00 0x04
# CHECK: st %r17, [++%r19]
0xf8 0xcf 0x2f 0xfe
# CHECK: st.h %r17, [--%r19]
0xf8 0xcf 0x2c 0x02
# CHECK: st.h %r17, [++%r19]
0xf8 0xcf 0x6f 0xff
# CHECK: st.b %r17, [--%r19]
0xf8 0xcf 0x6c 0x01
# CHECK: st.b %r17, [++%r19]
0xb8 0xcf 0x90 0x02
# CHECK: st %r17, [*%r19 add %r18]
0xb8 0xcf 0x90 0x00
# CHECK: st.h %r17, [*%r19 add %r18]
0xb8 0xcf 0x90 0x04
# CHECK: st.b %r17, [*%r19 add %r18]
0x98 0xcd 0x80 0x00
# CHECK: st %r17, -32768[%r19*]
0x98 0xcd 0xfc 0x00
# CHECK: st %r17, -1024[%r19*]
0x98 0xcd 0x04 0x00
# CHECK: st %r17, 1024[%r19*]
0x98 0xcd 0x7f 0xff
# CHECK: st %r17, 32767[%r19*]
0xf8 0xcf 0x26 0x00
# CHECK: st.h %r17, -512[%r19*]
0xf8 0xcf 0x27 0xf3
# CHECK: st.h %r17, -13[%r19*]
0xf8 0xcf 0x24 0x12
# CHECK: st.h %r17, 18[%r19*]
0xf8 0xcf 0x25 0xff
# CHECK: st.h %r17, 511[%r19*]
0xf8 0xcf 0x66 0x00
# CHECK: st.b %r17, -512[%r19*]
0xf8 0xcf 0x67 0xf3
# CHECK: st.b %r17, -13[%r19*]
0xf8 0xcf 0x64 0x12
# CHECK: st.b %r17, 18[%r19*]
0xf8 0xcf 0x65 0xff
# CHECK: st.b %r17, 511[%r19*]
0x98 0xcd 0xff 0xfc
# CHECK: st %r17, [%r19--]
0x98 0xcd 0x00 0x04
# CHECK: st %r17, [%r19++]
0xf8 0xcf 0x27 0xfe
# CHECK: st.h %r17, [%r19--]
0xf8 0xcf 0x24 0x02
# CHECK: st.h %r17, [%r19++]
0xf8 0xcf 0x67 0xff
# CHECK: st.b %r17, [%r19--]
0xf8 0xcf 0x64 0x01
# CHECK: st.b %r17, [%r19++]
0xb8 0xcd 0x90 0x02
# CHECK: st %r17, [%r19* add %r18]
0xb8 0xcd 0x90 0x00
# CHECK: st.h %r17, [%r19* add %r18]
0xb8 0xcd 0x90 0x04
# CHECK: st.b %r17, [%r19* add %r18]
0xba 0xc6 0x90 0x02
# CHECK: st %r21, [%r17 add %r18]
0xba 0xc6 0x91 0x02
# CHECK: st %r21, [%r17 addc %r18]
0xba 0xc6 0x92 0x02
# CHECK: st %r21, [%r17 sub %r18]
0xba 0xc6 0x93 0x02
# CHECK: st %r21, [%r17 subb %r18]
0xba 0xc6 0x94 0x02
# CHECK: st %r21, [%r17 and %r18]
0xba 0xc6 0x95 0x02
# CHECK: st %r21, [%r17 or %r18]
0xba 0xc6 0x96 0x02
# CHECK: st %r21, [%r17 xor %r18]
0xba 0xc6 0x97 0x82
# CHECK: st %r21, [%r17 sh %r18]
0xba 0xc6 0x97 0xc2
# CHECK: st %r21, [%r17 sha %r18]
0xba 0xc6 0x90 0x00
# CHECK: st.h %r21, [%r17 add %r18]
0xba 0xc6 0x91 0x00
# CHECK: st.h %r21, [%r17 addc %r18]
0xba 0xc6 0x92 0x00
# CHECK: st.h %r21, [%r17 sub %r18]
0xba 0xc6 0x93 0x00
# CHECK: st.h %r21, [%r17 subb %r18]
0xba 0xc6 0x94 0x00
# CHECK: st.h %r21, [%r17 and %r18]
0xba 0xc6 0x95 0x00
# CHECK: st.h %r21, [%r17 or %r18]
0xba 0xc6 0x96 0x00
# CHECK: st.h %r21, [%r17 xor %r18]
0xba 0xc6 0x97 0x80
# CHECK: st.h %r21, [%r17 sh %r18]
0xba 0xc6 0x97 0xc0
# CHECK: st.h %r21, [%r17 sha %r18]
0xba 0xc6 0x90 0x04
# CHECK: st.b %r21, [%r17 add %r18]
0xba 0xc6 0x91 0x04
# CHECK: st.b %r21, [%r17 addc %r18]
0xba 0xc6 0x92 0x04
# CHECK: st.b %r21, [%r17 sub %r18]
0xba 0xc6 0x93 0x04
# CHECK: st.b %r21, [%r17 subb %r18]
0xba 0xc6 0x94 0x04
# CHECK: st.b %r21, [%r17 and %r18]
0xba 0xc6 0x95 0x04
# CHECK: st.b %r21, [%r17 or %r18]
0xba 0xc6 0x96 0x04
# CHECK: st.b %r21, [%r17 xor %r18]
0xba 0xc6 0x97 0x84
# CHECK: st.b %r21, [%r17 sh %r18]
0xba 0xc6 0x97 0xc4
# CHECK: st.b %r21, [%r17 sha %r18]
0xba 0xc7 0x90 0x02
# CHECK: st %r21, [*%r17 add %r18]
0xba 0xc7 0x91 0x02
# CHECK: st %r21, [*%r17 addc %r18]
0xba 0xc7 0x92 0x02
# CHECK: st %r21, [*%r17 sub %r18]
0xba 0xc7 0x93 0x02
# CHECK: st %r21, [*%r17 subb %r18]
0xba 0xc7 0x94 0x02
# CHECK: st %r21, [*%r17 and %r18]
0xba 0xc7 0x95 0x02
# CHECK: st %r21, [*%r17 or %r18]
0xba 0xc7 0x96 0x02
# CHECK: st %r21, [*%r17 xor %r18]
0xba 0xc7 0x97 0xc2
# CHECK: st %r21, [*%r17 sha %r18]
0xba 0xc7 0x90 0x00
# CHECK: st.h %r21, [*%r17 add %r18]
0xba 0xc7 0x91 0x00
# CHECK: st.h %r21, [*%r17 addc %r18]
0xba 0xc7 0x92 0x00
# CHECK: st.h %r21, [*%r17 sub %r18]
0xba 0xc7 0x93 0x00
# CHECK: st.h %r21, [*%r17 subb %r18]
0xba 0xc7 0x94 0x00
# CHECK: st.h %r21, [*%r17 and %r18]
0xba 0xc7 0x95 0x00
# CHECK: st.h %r21, [*%r17 or %r18]
0xba 0xc7 0x96 0x00
# CHECK: st.h %r21, [*%r17 xor %r18]
0xba 0xc7 0x97 0xc0
# CHECK: st.h %r21, [*%r17 sha %r18]
0xba 0xc7 0x90 0x04
# CHECK: st.b %r21, [*%r17 add %r18]
0xba 0xc7 0x91 0x04
# CHECK: st.b %r21, [*%r17 addc %r18]
0xba 0xc7 0x92 0x04
# CHECK: st.b %r21, [*%r17 sub %r18]
0xba 0xc7 0x93 0x04
# CHECK: st.b %r21, [*%r17 subb %r18]
0xba 0xc7 0x94 0x04
# CHECK: st.b %r21, [*%r17 and %r18]
0xba 0xc7 0x95 0x04
# CHECK: st.b %r21, [*%r17 or %r18]
0xba 0xc7 0x96 0x04
# CHECK: st.b %r21, [*%r17 xor %r18]
0xba 0xc7 0x97 0xc4
# CHECK: st.b %r21, [*%r17 sha %r18]
0xba 0xc5 0x90 0x02
# CHECK: st %r21, [%r17* add %r18]
0xba 0xc5 0x91 0x02
# CHECK: st %r21, [%r17* addc %r18]
0xba 0xc5 0x92 0x02
# CHECK: st %r21, [%r17* sub %r18]
0xba 0xc5 0x93 0x02
# CHECK: st %r21, [%r17* subb %r18]
0xba 0xc5 0x94 0x02
# CHECK: st %r21, [%r17* and %r18]
0xba 0xc5 0x95 0x02
# CHECK: st %r21, [%r17* or %r18]
0xba 0xc5 0x96 0x02
# CHECK: st %r21, [%r17* xor %r18]
0xba 0xc5 0x97 0x82
# CHECK: st %r21, [%r17* sh %r18]
0xba 0xc5 0x97 0xc2
# CHECK: st %r21, [%r17* sha %r18]
0xba 0xc5 0x90 0x00
# CHECK: st.h %r21, [%r17* add %r18]
0xba 0xc5 0x91 0x00
# CHECK: st.h %r21, [%r17* addc %r18]
0xba 0xc5 0x92 0x00
# CHECK: st.h %r21, [%r17* sub %r18]
0xba 0xc5 0x93 0x00
# CHECK: st.h %r21, [%r17* subb %r18]
0xba 0xc5 0x94 0x00
# CHECK: st.h %r21, [%r17* and %r18]
0xba 0xc5 0x95 0x00
# CHECK: st.h %r21, [%r17* or %r18]
0xba 0xc5 0x96 0x00
# CHECK: st.h %r21, [%r17* xor %r18]
0xba 0xc5 0x97 0x80
# CHECK: st.h %r21, [%r17* sh %r18]
0xba 0xc5 0x97 0xc0
# CHECK: st.h %r21, [%r17* sha %r18]
0xba 0xc5 0x90 0x04
# CHECK: st.b %r21, [%r17* add %r18]
0xba 0xc5 0x91 0x04
# CHECK: st.b %r21, [%r17* addc %r18]
0xba 0xc5 0x92 0x04
# CHECK: st.b %r21, [%r17* sub %r18]
0xba 0xc5 0x93 0x04
# CHECK: st.b %r21, [%r17* subb %r18]
0xba 0xc5 0x94 0x04
# CHECK: st.b %r21, [%r17* and %r18]
0xba 0xc5 0x95 0x04
# CHECK: st.b %r21, [%r17* or %r18]
0xba 0xc5 0x96 0x04
# CHECK: st.b %r21, [%r17* xor %r18]
0xba 0xc5 0x97 0x84
# CHECK: st.b %r21, [%r17* sh %r18]
0xba 0xc5 0x97 0xc4
# CHECK: st.b %r21, [%r17* sha %r18]
0xfa 0x85 0x23 0x44
# CHECK: st %r21, [0x12344]
0x2a 0xc4 0x00 0x00
# CHECK: sub %r17, 0x0, %r21
0x2a 0xc4 0x12 0x34
# CHECK: sub %r17, 0x1234, %r21
0x2a 0xc5 0x12 0x34
# CHECK: sub %r17, 0x12340000, %r21
0x2a 0xc6 0x00 0x00
# CHECK: sub.f %r17, 0x0, %r21
0x2a 0xc6 0x12 0x34
# CHECK: sub.f %r17, 0x1234, %r21
0x2a 0xc7 0x12 0x34
# CHECK: sub.f %r17, 0x12340000, %r21
0xca 0xc4 0x92 0x00
# CHECK: sub %r17, %r18, %r21
0xca 0xc6 0x92 0x00
# CHECK: sub.f %r17, %r18, %r21
0x3a 0xc4 0x00 0x00
# CHECK: subb %r17, 0x0, %r21
0x3a 0xc4 0x12 0x34
# CHECK: subb %r17, 0x1234, %r21
0x3a 0xc5 0x12 0x34
# CHECK: subb %r17, 0x12340000, %r21
0x3a 0xc6 0x00 0x00
# CHECK: subb.f %r17, 0x0, %r21
0x3a 0xc6 0x12 0x34
# CHECK: subb.f %r17, 0x1234, %r21
0x3a 0xc7 0x12 0x34
# CHECK: subb.f %r17, 0x12340000, %r21
0xca 0xc4 0x93 0x00
# CHECK: subb %r17, %r18, %r21
0xca 0xc6 0x93 0x00
# CHECK: subb.f %r17, %r18, %r21
0x6a 0xc4 0x00 0x00
# CHECK: xor %r17, 0x0, %r21
0x6a 0xc4 0x12 0x34
# CHECK: xor %r17, 0x1234, %r21
0x6a 0xc5 0x12 0x34
# CHECK: xor %r17, 0x12340000, %r21
0x6a 0xc6 0x00 0x00
# CHECK: xor.f %r17, 0x0, %r21
0x6a 0xc6 0x12 0x34
# CHECK: xor.f %r17, 0x1234, %r21
0x6a 0xc7 0x12 0x34
# CHECK: xor.f %r17, 0x12340000, %r21
0xca 0xc4 0x96 0x00
# CHECK: xor %r17, %r18, %r21
0xca 0xc6 0x96 0x00
# CHECK: xor.f %r17, %r18, %r21