Port over more Thumb2 assembly tests to disassembly tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139912 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2011-09-16 17:22:48 +00:00
parent cb574bb71e
commit 1070278efa

View File

@ -408,6 +408,36 @@
0xbf 0xf3 0x6f 0x8f
#------------------------------------------------------------------------------
# IT
#------------------------------------------------------------------------------
# Test encodings of a few full IT blocks, not just the IT instruction
# CHECK: iteet eq
# CHECK: addeq r0, r1, r2
# CHECK: nopne
# CHECK: subne r5, r6, r7
# CHECK: addeq r1, r2, #4
0x0d 0xbf
0x88 0x18
0x00 0xbf
0xf5 0x1b
0x11 0x1d
# CHECK: ittee ls
# CHECK: addls r0, r1, r2
# CHECK: nopls
# CHECK: subhi r5, r6, r7
# CHECK: addhi r1, r2, #4
0x99 0xbf
0x88 0x18
0x00 0xbf
0xf5 0x1b
0x11 0x1d
#------------------------------------------------------------------------------
# LDMIA
#------------------------------------------------------------------------------
@ -915,35 +945,731 @@
0x4f 0xf0 0x7f 0x70
0x5f 0xf0 0x7f 0x70
#------------------------------------------------------------------------------
# MOVT
#------------------------------------------------------------------------------
# CHECK: movt r3, #7
# CHECK: movt r6, #65535
# CHECK: it eq
# CHECK: movteq r4, #4080
0xc0 0xf2 0x07 0x03
0xcf 0xf6 0xff 0x76
0x08 0xbf
0xc0 0xf6 0xf0 0x74
#------------------------------------------------------------------------------
# IT
# MRC/MRC2
#------------------------------------------------------------------------------
# Test encodings of a few full IT blocks, not just the IT instruction
# CHECK: mrc p14, #0, r1, c1, c2, #4
# CHECK: mrc2 p14, #0, r1, c1, c2, #4
# CHECK: iteet eq
# CHECK: addeq r0, r1, r2
# CHECK: nopne
# CHECK: subne r5, r6, r7
# CHECK: addeq r1, r2, #4
0x11 0xee 0x92 0x1e
0x11 0xfe 0x92 0x1e
0x0d 0xbf
0x88 0x18
0x00 0xbf
0xf5 0x1b
0x11 0x1d
# CHECK: ittee ls
# CHECK: addls r0, r1, r2
# CHECK: nopls
# CHECK: subhi r5, r6, r7
# CHECK: addhi r1, r2, #4
#------------------------------------------------------------------------------
# MRRC/MRRC2
#------------------------------------------------------------------------------
# CHECK: mrrc p7, #1, r5, r4, c1
# CHECK: mrrc2 p7, #1, r5, r4, c1
0x54 0xec 0x11 0x57
0x54 0xfc 0x11 0x57
#------------------------------------------------------------------------------
# MRS
#------------------------------------------------------------------------------
# CHECK: mrs r8, apsr
# CHECK: mrs r8, spsr
0xef 0xf3 0x00 0x88
0xff 0xf3 0x00 0x88
#------------------------------------------------------------------------------
# MSR
#------------------------------------------------------------------------------
# CHECK: msr APSR_nzcvq, r1
# CHECK: msr APSR_g, r2
# CHECK: msr APSR_nzcvq, r3
# CHECK: msr APSR_nzcvq, r4
# CHECK: msr APSR_nzcvqg, r5
# CHECK: msr CPSR_fc, r6
# CHECK: msr CPSR_c, r7
# CHECK: msr CPSR_x, r8
# CHECK: msr CPSR_fc, r9
# CHECK: msr CPSR_fc, r11
# CHECK: msr CPSR_fsx, r12
# CHECK: msr SPSR_fc, r0
# CHECK: msr SPSR_fsxc, r5
# CHECK: msr CPSR_fsxc, r8
0x81 0xf3 0x00 0x88
0x82 0xf3 0x00 0x84
0x83 0xf3 0x00 0x88
0x84 0xf3 0x00 0x88
0x85 0xf3 0x00 0x8c
0x86 0xf3 0x00 0x89
0x87 0xf3 0x00 0x81
0x88 0xf3 0x00 0x82
0x89 0xf3 0x00 0x89
0x8b 0xf3 0x00 0x89
0x8c 0xf3 0x00 0x8e
0x90 0xf3 0x00 0x89
0x95 0xf3 0x00 0x8f
0x88 0xf3 0x00 0x8f
#------------------------------------------------------------------------------
# MUL
#------------------------------------------------------------------------------
# CHECK: muls r3, r4, r3
# CHECK: mul r3, r4, r3
# CHECK: mul r3, r4, r6
# CHECK: it eq
# CHECK: muleq r3, r4, r5
0x63 0x43
0x04 0xfb 0x03 0xf3
0x04 0xfb 0x06 0xf3
0x08 0xbf
0x04 0xfb 0x05 0xf3
#------------------------------------------------------------------------------
# MVN(immediate)
#------------------------------------------------------------------------------
# CHECK: mvns r8, #21
# CHECK: mvn r0, #66846720
# CHECK: mvns r0, #66846720
# CHECK: itte eq
# CHECK: mvnseq r1, #12
# CHECK: mvneq r1, #12
# CHECK: mvnne r1, #12
0x7f 0xf0 0x15 0x08
0x6f 0xf0 0x7f 0x70
0x7f 0xf0 0x7f 0x70
0x06 0xbf
0x7f 0xf0 0x0c 0x01
0x6f 0xf0 0x0c 0x01
0x6f 0xf0 0x0c 0x01
#------------------------------------------------------------------------------
# MVN(register)
#------------------------------------------------------------------------------
# CHECK: mvn.w r2, r3
# CHECK: mvns r2, r3
# CHECK: mvn.w r5, r6, lsl #19
# CHECK: mvn.w r5, r6, lsr #9
# CHECK: mvn.w r5, r6, asr #4
# CHECK: mvn.w r5, r6, ror #6
# CHECK: mvn.w r5, r6, rrx
# CHECK: it eq
# CHECK: mvneq r2, r3
0x6f 0xea 0x03 0x02
0xda 0x43
0x6f 0xea 0xc6 0x45
0x6f 0xea 0x56 0x25
0x6f 0xea 0x26 0x15
0x6f 0xea 0xb6 0x15
0x6f 0xea 0x36 0x05
0x08 0xbf
0xda 0x43
#------------------------------------------------------------------------------
# NOP
#------------------------------------------------------------------------------
# CHECK: nop.w
0xaf 0xf3 0x00 0x80
#------------------------------------------------------------------------------
# ORN
#------------------------------------------------------------------------------
# CHECK: orn r4, r5, #61440
# CHECK: orn r4, r5, r6
# CHECK: orns r4, r5, r6
# CHECK: orn r4, r5, r6, lsl #5
# CHECK: orns r4, r5, r6, lsr #5
# CHECK: orn r4, r5, r6, lsr #5
# CHECK: orns r4, r5, r6, asr #5
# CHECK: orn r4, r5, r6, ror #5
0x65 0xf4 0x70 0x44
0x65 0xea 0x06 0x04
0x75 0xea 0x06 0x04
0x65 0xea 0x46 0x14
0x75 0xea 0x56 0x14
0x65 0xea 0x56 0x14
0x75 0xea 0x66 0x14
0x65 0xea 0x76 0x14
#------------------------------------------------------------------------------
# ORR
#------------------------------------------------------------------------------
# CHECK: orr r4, r5, #61440
# CHECK: orr.w r4, r5, r6
# CHECK: orr.w r4, r5, r6, lsl #5
# CHECK: orrs.w r4, r5, r6, lsr #5
# CHECK: orr.w r4, r5, r6, lsr #5
# CHECK: orrs.w r4, r5, r6, asr #5
# CHECK: orr.w r4, r5, r6, ror #5
0x45 0xf4 0x70 0x44
0x45 0xea 0x06 0x04
0x45 0xea 0x46 0x14
0x55 0xea 0x56 0x14
0x45 0xea 0x56 0x14
0x55 0xea 0x66 0x14
0x45 0xea 0x76 0x14
#------------------------------------------------------------------------------
# PKH
#------------------------------------------------------------------------------
# CHECK: pkhbt r2, r2, r3
# CHECK: pkhbt r2, r2, r3, lsl #31
# CHECK: pkhbt r2, r2, r3, lsl #15
# CHECK: pkhtb r2, r2, r3, asr #31
# CHECK: pkhtb r2, r2, r3, asr #15
0xc2 0xea 0x03 0x02
0xc2 0xea 0xc3 0x72
0xc2 0xea 0xc3 0x32
0xc2 0xea 0xe3 0x72
0xc2 0xea 0xe3 0x32
#------------------------------------------------------------------------------
# PLD(immediate)
#------------------------------------------------------------------------------
# CHECK: pld [r5, #-4]
# CHECK: pld [r6, #32]
# CHECK: pld [r6, #33]
# CHECK: pld [r6, #257]
# CHECK: pld [r7, #257]
0x15 0xf8 0x04 0xfc
0x96 0xf8 0x20 0xf0
0x96 0xf8 0x21 0xf0
0x96 0xf8 0x01 0xf1
0x97 0xf8 0x01 0xf1
#------------------------------------------------------------------------------
# PLD(register)
#------------------------------------------------------------------------------
# CHECK: pld [r8, r1]
# CHECK: pld [r5, r2]
# CHECK: pld [r0, r2, lsl #3]
# CHECK: pld [r8, r2, lsl #2]
# CHECK: pld [sp, r2, lsl #1]
# CHECK: pld [sp, r2]
0x18 0xf8 0x01 0xf0
0x15 0xf8 0x02 0xf0
0x10 0xf8 0x32 0xf0
0x18 0xf8 0x22 0xf0
0x1d 0xf8 0x12 0xf0
0x1d 0xf8 0x02 0xf0
#------------------------------------------------------------------------------
# PLI(immediate)
#------------------------------------------------------------------------------
# CHECK: pli [r5, #-4]
# CHECK: pli [r6, #32]
# CHECK: pli [r6, #33]
# CHECK: pli [r6, #257]
# CHECK: pli [r7, #257]
0x15 0xf9 0x04 0xfc
0x96 0xf9 0x20 0xf0
0x96 0xf9 0x21 0xf0
0x96 0xf9 0x01 0xf1
0x97 0xf9 0x01 0xf1
#------------------------------------------------------------------------------
# PLI(register)
#------------------------------------------------------------------------------
# CHECK: pli [r8, r1]
# CHECK: pli [r5, r2]
# CHECK: pli [r0, r2, lsl #3]
# CHECK: pli [r8, r2, lsl #2]
# CHECK: pli [sp, r2, lsl #1]
# CHECK: pli [sp, r2]
0x18 0xf9 0x01 0xf0
0x15 0xf9 0x02 0xf0
0x10 0xf9 0x32 0xf0
0x18 0xf9 0x22 0xf0
0x1d 0xf9 0x12 0xf0
0x1d 0xf9 0x02 0xf0
#------------------------------------------------------------------------------
# QADD/QADD16/QADD8
#------------------------------------------------------------------------------
# CHECK: qadd r1, r2, r3
# CHECK: qadd16 r1, r2, r3
# CHECK: qadd8 r1, r2, r3
# CHECK: itte gt
# CHECK: qaddgt r1, r2, r3
# CHECK: qadd16gt r1, r2, r3
# CHECK: qadd8le r1, r2, r3
0x83 0xfa 0x82 0xf1
0x92 0xfa 0x13 0xf1
0x82 0xfa 0x13 0xf1
0xc6 0xbf
0x83 0xfa 0x82 0xf1
0x92 0xfa 0x13 0xf1
0x82 0xfa 0x13 0xf1
#------------------------------------------------------------------------------
# QDADD/QDSUB
#------------------------------------------------------------------------------
# CHECK: qdadd r6, r7, r8
# CHECK: qdsub r6, r7, r8
# CHECK: itt hi
# CHECK: qdaddhi r6, r7, r8
# CHECK: qdsubhi r6, r7, r8
0x88 0xfa 0x97 0xf6
0x88 0xfa 0xb7 0xf6
0x84 0xbf
0x88 0xfa 0x97 0xf6
0x88 0xfa 0xb7 0xf6
#------------------------------------------------------------------------------
# QSAX
#------------------------------------------------------------------------------
# CHECK: qsax r9, r12, r0
# CHECK: it eq
# CHECK: qsaxeq r9, r12, r0
0xec 0xfa 0x10 0xf9
0x08 0xbf
0xec 0xfa 0x10 0xf9
#------------------------------------------------------------------------------
# QSUB/QSUB16/QSUB8
#------------------------------------------------------------------------------
# CHECK: qsub r1, r2, r3
# CHECK: qsub16 r1, r2, r3
# CHECK: qsub8 r1, r2, r3
# CHECK: itet le
# CHECK: qsuble r1, r2, r3
# CHECK: qsub16gt r1, r2, r3
# CHECK: qsub8le r1, r2, r3
0x83 0xfa 0xa2 0xf1
0xd2 0xfa 0x13 0xf1
0xc2 0xfa 0x13 0xf1
0xd6 0xbf
0x83 0xfa 0xa2 0xf1
0xd2 0xfa 0x13 0xf1
0xc2 0xfa 0x13 0xf1
#------------------------------------------------------------------------------
# RBIT
#------------------------------------------------------------------------------
# CHECK: rbit r1, r2
# CHECK: it ne
# CHECK: rbitne r1, r2
0x92 0xfa 0xa2 0xf1
0x18 0xbf
0x92 0xfa 0xa2 0xf1
#------------------------------------------------------------------------------
# REV
#------------------------------------------------------------------------------
# CHECK: rev.w r1, r2
# CHECK: rev.w r2, r8
# CHECK: itt ne
# CHECK: revne r1, r2
# CHECK: revne.w r1, r8
0x92 0xfa 0x82 0xf1
0x98 0xfa 0x88 0xf2
0x1c 0xbf
0x11 0xba
0x98 0xfa 0x88 0xf1
#------------------------------------------------------------------------------
# REV16
#------------------------------------------------------------------------------
# CHECK: rev16.w r1, r2
# CHECK: rev16.w r2, r8
# CHECK: itt ne
# CHECK: rev16ne r1, r2
# CHECK: rev16ne.w r1, r8
0x92 0xfa 0x92 0xf1
0x98 0xfa 0x98 0xf2
0x1c 0xbf
0x51 0xba
0x98 0xfa 0x98 0xf1
#------------------------------------------------------------------------------
# REVSH
#------------------------------------------------------------------------------
# CHECK: revsh.w r1, r2
# CHECK: revsh.w r2, r8
# CHECK: itt ne
# CHECK: revshne r1, r2
# CHECK: revshne.w r1, r8
0x92 0xfa 0xb2 0xf1
0x98 0xfa 0xb8 0xf2
0x1c 0xbf
0xd1 0xba
0x98 0xfa 0xb8 0xf1
#------------------------------------------------------------------------------
# ROR (immediate)
#------------------------------------------------------------------------------
# CHECK: ror.w r2, r3, #12
# CHECK: rors.w r8, r3, #31
# CHECK: rors.w r2, r3, #1
# CHECK: ror.w r2, r3, #4
# CHECK: rors.w r2, r12, #15
# CHECK: ror.w r3, r3, #19
# CHECK: rors.w r8, r8, #2
# CHECK: rors.w r7, r7, #5
# CHECK: ror.w r12, r12, #21
0x4f 0xea 0x33 0x32
0x5f 0xea 0xf3 0x78
0x5f 0xea 0x73 0x02
0x4f 0xea 0x33 0x12
0x5f 0xea 0xfc 0x32
0x4f 0xea 0xf3 0x43
0x5f 0xea 0xb8 0x08
0x5f 0xea 0x77 0x17
0x4f 0xea 0x7c 0x5c
#------------------------------------------------------------------------------
# ROR (register)
#------------------------------------------------------------------------------
# CHECK: ror.w r3, r4, r2
# CHECK: ror.w r1, r1, r2
# CHECK: rors.w r3, r4, r8
0x64 0xfa 0x02 0xf3
0x61 0xfa 0x02 0xf1
0x74 0xfa 0x08 0xf3
#------------------------------------------------------------------------------
# RRX
#------------------------------------------------------------------------------
# CHECK: rrx r1, r2
# CHECK: rrxs r1, r2
# CHECK: ite lt
# CHECK: rrxlt r9, r12
# CHECK: rrxsge r8, r3
0x4f 0xea 0x32 0x01
0x5f 0xea 0x32 0x01
0xb4 0xbf
0x4f 0xea 0x3c 0x09
0x5f 0xea 0x33 0x08
#------------------------------------------------------------------------------
# RSB (immediate)
#------------------------------------------------------------------------------
# CHECK: rsb.w r2, r5, #1044480
# CHECK: rsbs.w r3, r12, #15
# CHECK: rsb.w r1, r1, #255
0xc5 0xf5 0x7f 0x22
0xdc 0xf1 0x0f 0x03
0xc1 0xf1 0xff 0x01
#------------------------------------------------------------------------------
# RSB (register)
#------------------------------------------------------------------------------
# CHECK: rsb r4, r4, r8
# CHECK: rsb r4, r9, r8
# CHECK: rsb r1, r4, r8, asr #3
# CHECK: rsbs r2, r1, r7, lsl #1
0xc4 0xeb 0x08 0x04
0xc9 0xeb 0x08 0x04
0xc4 0xeb 0xe8 0x01
0xd1 0xeb 0x47 0x02
#------------------------------------------------------------------------------
# SADD16
#------------------------------------------------------------------------------
# CHECK: sadd16 r3, r4, r8
# CHECK: it ne
# CHECK: sadd16ne r3, r4, r8
0x94 0xfa 0x08 0xf3
0x18 0xbf
0x94 0xfa 0x08 0xf3
#------------------------------------------------------------------------------
# SADD8
#------------------------------------------------------------------------------
# CHECK: sadd8 r3, r4, r8
# CHECK: it ne
# CHECK: sadd8ne r3, r4, r8
0x84 0xfa 0x08 0xf3
0x18 0xbf
0x84 0xfa 0x08 0xf3
#------------------------------------------------------------------------------
# SASX
#------------------------------------------------------------------------------
# CHECK: sasx r9, r2, r7
# CHECK: it ne
# CHECK: sasxne r2, r5, r6
0xa2 0xfa 0x07 0xf9
0x18 0xbf
0xa5 0xfa 0x06 0xf2
#------------------------------------------------------------------------------
# SBC (immediate)
#------------------------------------------------------------------------------
# CHECK: sbc r0, r1, #4
# CHECK: sbcs r0, r1, #0
# CHECK: sbc r1, r2, #255
# CHECK: sbc r3, r7, #5570645
# CHECK: sbc r8, r12, #2852170240
# CHECK: sbc r9, r7, #2779096485
# CHECK: sbc r5, r3, #2264924160
# CHECK: sbc r4, r2, #2139095040
# CHECK: sbc r4, r2, #1664
0x61 0xf1 0x04 0x00
0x71 0xf1 0x00 0x00
0x62 0xf1 0xff 0x01
0x67 0xf1 0x55 0x13
0x6c 0xf1 0xaa 0x28
0x67 0xf1 0xa5 0x39
0x63 0xf1 0x07 0x45
0x62 0xf1 0xff 0x44
0x62 0xf5 0xd0 0x64
#------------------------------------------------------------------------------
# SBC (register)
#------------------------------------------------------------------------------
# CHECK: sbc.w r4, r5, r6
# CHECK: sbcs.w r4, r5, r6
# CHECK: sbc.w r9, r1, r3
# CHECK: sbcs.w r9, r1, r3
# CHECK: sbc.w r0, r1, r3, ror #4
# CHECK: sbcs.w r0, r1, r3, lsl #7
# CHECK: sbc.w r0, r1, r3, lsr #31
# CHECK: sbcs.w r0, r1, r3, asr #32
0x65 0xeb 0x06 0x04
0x75 0xeb 0x06 0x04
0x61 0xeb 0x03 0x09
0x71 0xeb 0x03 0x09
0x61 0xeb 0x33 0x10
0x71 0xeb 0xc3 0x10
0x61 0xeb 0xd3 0x70
0x71 0xeb 0x23 0x00
#------------------------------------------------------------------------------
# SBFX
#------------------------------------------------------------------------------
# CHECK: sbfx r4, r5, #16, #1
# CHECK: it gt
# CHECK: sbfxgt r4, r5, #16, #16
0x45 0xf3 0x00 0x44
0xc8 0xbf
0x45 0xf3 0x0f 0x44
#------------------------------------------------------------------------------
# SEL
#------------------------------------------------------------------------------
# CHECK: sel r5, r9, r2
# CHECK: it le
# CHECK: selle r5, r9, r2
0xa9 0xfa 0x82 0xf5
0xd8 0xbf
0xa9 0xfa 0x82 0xf5
#------------------------------------------------------------------------------
# SEV
#------------------------------------------------------------------------------
# CHECK: sev.w
# CHECK: it eq
# CHECK: seveq.w
0xaf 0xf3 0x04 0x80
0x08 0xbf
0xaf 0xf3 0x04 0x80
#------------------------------------------------------------------------------
# SADD16/SADD8
#------------------------------------------------------------------------------
# CHECK: sadd16 r1, r2, r3
# CHECK: sadd8 r1, r2, r3
# CHECK: ite gt
# CHECK: sadd16gt r1, r2, r3
# CHECK: sadd8le r1, r2, r3
0x92 0xfa 0x03 0xf1
0x82 0xfa 0x03 0xf1
0xcc 0xbf
0x92 0xfa 0x03 0xf1
0x82 0xfa 0x03 0xf1
#------------------------------------------------------------------------------
# SHASX
#------------------------------------------------------------------------------
# CHECK: shasx r4, r8, r2
# CHECK: it gt
# CHECK: shasxgt r4, r8, r2
0xa8 0xfa 0x22 0xf4
0xc8 0xbf
0xa8 0xfa 0x22 0xf4
#------------------------------------------------------------------------------
# SHASX
#------------------------------------------------------------------------------
# CHECK: shsax r4, r8, r2
# CHECK: it gt
# CHECK: shsaxgt r4, r8, r2
0xe8 0xfa 0x22 0xf4
0xc8 0xbf
0xe8 0xfa 0x22 0xf4
#------------------------------------------------------------------------------
# SHSUB16/SHSUB8
#------------------------------------------------------------------------------
# CHECK: shsub16 r4, r8, r2
# CHECK: shsub8 r4, r8, r2
# CHECK: itt gt
# CHECK: shsub16gt r4, r8, r2
# CHECK: shsub8gt r4, r8, r2
0xd8 0xfa 0x22 0xf4
0xc8 0xfa 0x22 0xf4
0xc4 0xbf
0xd8 0xfa 0x22 0xf4
0xc8 0xfa 0x22 0xf4
#------------------------------------------------------------------------------
# SMLABB/SMLABT/SMLATB/SMLATT
#------------------------------------------------------------------------------
# CHECK: smlabb r3, r1, r9, r0
# CHECK: smlabt r5, r6, r4, r1
# CHECK: smlatb r4, r2, r3, r2
# CHECK: smlatt r8, r3, r8, r4
# CHECK: itete gt
# CHECK: smlabbgt r3, r1, r9, r0
# CHECK: smlabtle r5, r6, r4, r1
# CHECK: smlatbgt r4, r2, r3, r2
# CHECK: smlattle r8, r3, r8, r4
0x11 0xfb 0x09 0x03
0x16 0xfb 0x14 0x15
0x12 0xfb 0x23 0x24
0x13 0xfb 0x38 0x48
0xcb 0xbf
0x11 0xfb 0x09 0x03
0x16 0xfb 0x14 0x15
0x12 0xfb 0x23 0x24
0x13 0xfb 0x38 0x48
#------------------------------------------------------------------------------
# SMLAD/SMLADX
#------------------------------------------------------------------------------
# CHECK: smlad r2, r3, r5, r8
# CHECK: smladx r2, r3, r5, r8
# CHECK: itt hi
# CHECK: smladhi r2, r3, r5, r8
# CHECK: smladxhi r2, r3, r5, r8
0x23 0xfb 0x05 0x82
0x23 0xfb 0x15 0x82
0x84 0xbf
0x23 0xfb 0x05 0x82
0x23 0xfb 0x15 0x82
#------------------------------------------------------------------------------
# SMLAL
#------------------------------------------------------------------------------
# CHECK: smlal r2, r3, r5, r8
# CHECK: it eq
# CHECK: smlaleq r2, r3, r5, r8
0xc5 0xfb 0x08 0x23
0x08 0xbf
0xc5 0xfb 0x08 0x23
#------------------------------------------------------------------------------
# SMLALBB/SMLALBT/SMLALTB/SMLALTT
#------------------------------------------------------------------------------
# CHECK: smlalbb r3, r1, r9, r0
# CHECK: smlalbt r5, r6, r4, r1
# CHECK: smlaltb r4, r2, r3, r2
# CHECK: smlaltt r8, r3, r8, r4
# CHECK: iteet ge
# CHECK: smlalbbge r3, r1, r9, r0
# CHECK: smlalbtlt r5, r6, r4, r1
# CHECK: smlaltblt r4, r2, r3, r2
# CHECK: smlalttge r8, r3, r8, r4
0xc9 0xfb 0x80 0x31
0xc4 0xfb 0x91 0x56
0xc3 0xfb 0xa2 0x42
0xc8 0xfb 0xb4 0x83
0xad 0xbf
0xc9 0xfb 0x80 0x31
0xc4 0xfb 0x91 0x56
0xc3 0xfb 0xa2 0x42
0xc8 0xfb 0xb4 0x83
0x99 0xbf
0x88 0x18
0x00 0xbf
0xf5 0x1b
0x11 0x1d
#------------------------------------------------------------------------------
# STRD (immediate)