224 lines
5.2 KiB
Plaintext
224 lines
5.2 KiB
Plaintext
|
# RUN: llvm-mc -triple arm64-apple-darwin --disassemble < %s | FileCheck %s
|
||
|
|
||
|
#==---------------------------------------------------------------------------==
|
||
|
# 5.4.2 Logical (immediate)
|
||
|
#==---------------------------------------------------------------------------==
|
||
|
|
||
|
0x00 0x00 0x00 0x12
|
||
|
0x00 0x00 0x40 0x92
|
||
|
0x41 0x0c 0x00 0x12
|
||
|
0x41 0x0c 0x40 0x92
|
||
|
0xbf 0xec 0x7c 0x92
|
||
|
0x00 0x00 0x00 0x72
|
||
|
0x00 0x00 0x40 0xf2
|
||
|
0x41 0x0c 0x00 0x72
|
||
|
0x41 0x0c 0x40 0xf2
|
||
|
0x5f 0x0c 0x40 0xf2
|
||
|
|
||
|
# CHECK: and w0, w0, #0x1
|
||
|
# CHECK: and x0, x0, #0x1
|
||
|
# CHECK: and w1, w2, #0xf
|
||
|
# CHECK: and x1, x2, #0xf
|
||
|
# CHECK: and sp, x5, #0xfffffffffffffff0
|
||
|
# CHECK: ands w0, w0, #0x1
|
||
|
# CHECK: ands x0, x0, #0x1
|
||
|
# CHECK: ands w1, w2, #0xf
|
||
|
# CHECK: ands x1, x2, #0xf
|
||
|
# CHECK: tst x2, #0xf
|
||
|
|
||
|
0x41 0x00 0x12 0x52
|
||
|
0x41 0x00 0x71 0xd2
|
||
|
0x5f 0x00 0x71 0xd2
|
||
|
|
||
|
# CHECK: eor w1, w2, #0x4000
|
||
|
# CHECK: eor x1, x2, #0x8000
|
||
|
# CHECK: eor sp, x2, #0x8000
|
||
|
|
||
|
0x41 0x00 0x12 0x32
|
||
|
0x41 0x00 0x71 0xb2
|
||
|
0x5f 0x00 0x71 0xb2
|
||
|
|
||
|
# CHECK: orr w1, w2, #0x4000
|
||
|
# CHECK: orr x1, x2, #0x8000
|
||
|
# CHECK: orr sp, x2, #0x8000
|
||
|
|
||
|
#==---------------------------------------------------------------------------==
|
||
|
# 5.5.3 Logical (shifted register)
|
||
|
#==---------------------------------------------------------------------------==
|
||
|
|
||
|
0x41 0x00 0x03 0x0a
|
||
|
0x41 0x00 0x03 0x8a
|
||
|
0x41 0x08 0x03 0x0a
|
||
|
0x41 0x08 0x03 0x8a
|
||
|
0x41 0x08 0x43 0x0a
|
||
|
0x41 0x08 0x43 0x8a
|
||
|
0x41 0x08 0x83 0x0a
|
||
|
0x41 0x08 0x83 0x8a
|
||
|
0x41 0x08 0xc3 0x0a
|
||
|
0x41 0x08 0xc3 0x8a
|
||
|
|
||
|
# CHECK: and w1, w2, w3
|
||
|
# CHECK: and x1, x2, x3
|
||
|
# CHECK: and w1, w2, w3, lsl #2
|
||
|
# CHECK: and x1, x2, x3, lsl #2
|
||
|
# CHECK: and w1, w2, w3, lsr #2
|
||
|
# CHECK: and x1, x2, x3, lsr #2
|
||
|
# CHECK: and w1, w2, w3, asr #2
|
||
|
# CHECK: and x1, x2, x3, asr #2
|
||
|
# CHECK: and w1, w2, w3, ror #2
|
||
|
# CHECK: and x1, x2, x3, ror #2
|
||
|
|
||
|
0x41 0x00 0x03 0x6a
|
||
|
0x41 0x00 0x03 0xea
|
||
|
0x41 0x08 0x03 0x6a
|
||
|
0x41 0x08 0x03 0xea
|
||
|
0x41 0x08 0x43 0x6a
|
||
|
0x41 0x08 0x43 0xea
|
||
|
0x41 0x08 0x83 0x6a
|
||
|
0x41 0x08 0x83 0xea
|
||
|
0x41 0x08 0xc3 0x6a
|
||
|
0x41 0x08 0xc3 0xea
|
||
|
|
||
|
# CHECK: ands w1, w2, w3
|
||
|
# CHECK: ands x1, x2, x3
|
||
|
# CHECK: ands w1, w2, w3, lsl #2
|
||
|
# CHECK: ands x1, x2, x3, lsl #2
|
||
|
# CHECK: ands w1, w2, w3, lsr #2
|
||
|
# CHECK: ands x1, x2, x3, lsr #2
|
||
|
# CHECK: ands w1, w2, w3, asr #2
|
||
|
# CHECK: ands x1, x2, x3, asr #2
|
||
|
# CHECK: ands w1, w2, w3, ror #2
|
||
|
# CHECK: ands x1, x2, x3, ror #2
|
||
|
|
||
|
0x41 0x00 0x23 0x0a
|
||
|
0x41 0x00 0x23 0x8a
|
||
|
0x41 0x0c 0x23 0x0a
|
||
|
0x41 0x0c 0x23 0x8a
|
||
|
0x41 0x0c 0x63 0x0a
|
||
|
0x41 0x0c 0x63 0x8a
|
||
|
0x41 0x0c 0xa3 0x0a
|
||
|
0x41 0x0c 0xa3 0x8a
|
||
|
0x41 0x0c 0xe3 0x0a
|
||
|
0x41 0x0c 0xe3 0x8a
|
||
|
|
||
|
# CHECK: bic w1, w2, w3
|
||
|
# CHECK: bic x1, x2, x3
|
||
|
# CHECK: bic w1, w2, w3, lsl #3
|
||
|
# CHECK: bic x1, x2, x3, lsl #3
|
||
|
# CHECK: bic w1, w2, w3, lsr #3
|
||
|
# CHECK: bic x1, x2, x3, lsr #3
|
||
|
# CHECK: bic w1, w2, w3, asr #3
|
||
|
# CHECK: bic x1, x2, x3, asr #3
|
||
|
# CHECK: bic w1, w2, w3, ror #3
|
||
|
# CHECK: bic x1, x2, x3, ror #3
|
||
|
|
||
|
0x41 0x00 0x23 0x6a
|
||
|
0x41 0x00 0x23 0xea
|
||
|
0x41 0x0c 0x23 0x6a
|
||
|
0x41 0x0c 0x23 0xea
|
||
|
0x41 0x0c 0x63 0x6a
|
||
|
0x41 0x0c 0x63 0xea
|
||
|
0x41 0x0c 0xa3 0x6a
|
||
|
0x41 0x0c 0xa3 0xea
|
||
|
0x41 0x0c 0xe3 0x6a
|
||
|
0x41 0x0c 0xe3 0xea
|
||
|
|
||
|
# CHECK: bics w1, w2, w3
|
||
|
# CHECK: bics x1, x2, x3
|
||
|
# CHECK: bics w1, w2, w3, lsl #3
|
||
|
# CHECK: bics x1, x2, x3, lsl #3
|
||
|
# CHECK: bics w1, w2, w3, lsr #3
|
||
|
# CHECK: bics x1, x2, x3, lsr #3
|
||
|
# CHECK: bics w1, w2, w3, asr #3
|
||
|
# CHECK: bics x1, x2, x3, asr #3
|
||
|
# CHECK: bics w1, w2, w3, ror #3
|
||
|
# CHECK: bics x1, x2, x3, ror #3
|
||
|
|
||
|
0x41 0x00 0x23 0x4a
|
||
|
0x41 0x00 0x23 0xca
|
||
|
0x41 0x10 0x23 0x4a
|
||
|
0x41 0x10 0x23 0xca
|
||
|
0x41 0x10 0x63 0x4a
|
||
|
0x41 0x10 0x63 0xca
|
||
|
0x41 0x10 0xa3 0x4a
|
||
|
0x41 0x10 0xa3 0xca
|
||
|
0x41 0x10 0xe3 0x4a
|
||
|
0x41 0x10 0xe3 0xca
|
||
|
|
||
|
# CHECK: eon w1, w2, w3
|
||
|
# CHECK: eon x1, x2, x3
|
||
|
# CHECK: eon w1, w2, w3, lsl #4
|
||
|
# CHECK: eon x1, x2, x3, lsl #4
|
||
|
# CHECK: eon w1, w2, w3, lsr #4
|
||
|
# CHECK: eon x1, x2, x3, lsr #4
|
||
|
# CHECK: eon w1, w2, w3, asr #4
|
||
|
# CHECK: eon x1, x2, x3, asr #4
|
||
|
# CHECK: eon w1, w2, w3, ror #4
|
||
|
# CHECK: eon x1, x2, x3, ror #4
|
||
|
|
||
|
0x41 0x00 0x03 0x4a
|
||
|
0x41 0x00 0x03 0xca
|
||
|
0x41 0x14 0x03 0x4a
|
||
|
0x41 0x14 0x03 0xca
|
||
|
0x41 0x14 0x43 0x4a
|
||
|
0x41 0x14 0x43 0xca
|
||
|
0x41 0x14 0x83 0x4a
|
||
|
0x41 0x14 0x83 0xca
|
||
|
0x41 0x14 0xc3 0x4a
|
||
|
0x41 0x14 0xc3 0xca
|
||
|
|
||
|
# CHECK: eor w1, w2, w3
|
||
|
# CHECK: eor x1, x2, x3
|
||
|
# CHECK: eor w1, w2, w3, lsl #5
|
||
|
# CHECK: eor x1, x2, x3, lsl #5
|
||
|
# CHECK: eor w1, w2, w3, lsr #5
|
||
|
# CHECK: eor x1, x2, x3, lsr #5
|
||
|
# CHECK: eor w1, w2, w3, asr #5
|
||
|
# CHECK: eor x1, x2, x3, asr #5
|
||
|
# CHECK: eor w1, w2, w3, ror #5
|
||
|
# CHECK: eor x1, x2, x3, ror #5
|
||
|
|
||
|
0x41 0x00 0x03 0x2a
|
||
|
0x41 0x00 0x03 0xaa
|
||
|
0x41 0x18 0x03 0x2a
|
||
|
0x41 0x18 0x03 0xaa
|
||
|
0x41 0x18 0x43 0x2a
|
||
|
0x41 0x18 0x43 0xaa
|
||
|
0x41 0x18 0x83 0x2a
|
||
|
0x41 0x18 0x83 0xaa
|
||
|
0x41 0x18 0xc3 0x2a
|
||
|
0x41 0x18 0xc3 0xaa
|
||
|
|
||
|
# CHECK: orr w1, w2, w3
|
||
|
# CHECK: orr x1, x2, x3
|
||
|
# CHECK: orr w1, w2, w3, lsl #6
|
||
|
# CHECK: orr x1, x2, x3, lsl #6
|
||
|
# CHECK: orr w1, w2, w3, lsr #6
|
||
|
# CHECK: orr x1, x2, x3, lsr #6
|
||
|
# CHECK: orr w1, w2, w3, asr #6
|
||
|
# CHECK: orr x1, x2, x3, asr #6
|
||
|
# CHECK: orr w1, w2, w3, ror #6
|
||
|
# CHECK: orr x1, x2, x3, ror #6
|
||
|
|
||
|
0x41 0x00 0x23 0x2a
|
||
|
0x41 0x00 0x23 0xaa
|
||
|
0x41 0x1c 0x23 0x2a
|
||
|
0x41 0x1c 0x23 0xaa
|
||
|
0x41 0x1c 0x63 0x2a
|
||
|
0x41 0x1c 0x63 0xaa
|
||
|
0x41 0x1c 0xa3 0x2a
|
||
|
0x41 0x1c 0xa3 0xaa
|
||
|
0x41 0x1c 0xe3 0x2a
|
||
|
0x41 0x1c 0xe3 0xaa
|
||
|
|
||
|
# CHECK: orn w1, w2, w3
|
||
|
# CHECK: orn x1, x2, x3
|
||
|
# CHECK: orn w1, w2, w3, lsl #7
|
||
|
# CHECK: orn x1, x2, x3, lsl #7
|
||
|
# CHECK: orn w1, w2, w3, lsr #7
|
||
|
# CHECK: orn x1, x2, x3, lsr #7
|
||
|
# CHECK: orn w1, w2, w3, asr #7
|
||
|
# CHECK: orn x1, x2, x3, asr #7
|
||
|
# CHECK: orn w1, w2, w3, ror #7
|
||
|
# CHECK: orn x1, x2, x3, ror #7
|