1dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; RUN: llvm-mc -triple arm64-apple-darwin -mattr=neon -show-encoding < %s | FileCheck %s 236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesfoo: 436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Add/Subtract with carry/borrow 636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adc w1, w2, w3 936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adc x1, x2, x3 1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adcs w5, w4, w3 1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adcs x5, x4, x3 1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adc w1, w2, w3 ; encoding: [0x41,0x00,0x03,0x1a] 1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adc x1, x2, x3 ; encoding: [0x41,0x00,0x03,0x9a] 1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adcs w5, w4, w3 ; encoding: [0x85,0x00,0x03,0x3a] 1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adcs x5, x4, x3 ; encoding: [0x85,0x00,0x03,0xba] 1736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sbc w1, w2, w3 1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sbc x1, x2, x3 2036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sbcs w1, w2, w3 2136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sbcs x1, x2, x3 2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sbc w1, w2, w3 ; encoding: [0x41,0x00,0x03,0x5a] 2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sbc x1, x2, x3 ; encoding: [0x41,0x00,0x03,0xda] 2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sbcs w1, w2, w3 ; encoding: [0x41,0x00,0x03,0x7a] 2636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sbcs x1, x2, x3 ; encoding: [0x41,0x00,0x03,0xfa] 2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Add/Subtract with (optionally shifted) immediate 3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w3, w4, #1024 3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w3, w4, #1024, lsl #0 3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x3, x4, #1024 3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x3, x4, #1024, lsl #0 3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x11] 3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x11] 3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0x91] 4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0x91] 4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w3, w4, #1024, lsl #12 4336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w3, w4, #4194304 4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w3, w4, #0, lsl #12 4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x3, x4, #1024, lsl #12 4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x3, x4, #4194304 4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x3, x4, #0, lsl #12 4836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add sp, sp, #32 4936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 50dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: add w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x11] 51dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: add w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x11] 5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w3, w4, #0, lsl #12 ; encoding: [0x83,0x00,0x40,0x11] 53dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: add x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x91] 54dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: add x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x91] 5536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x3, x4, #0, lsl #12 ; encoding: [0x83,0x00,0x40,0x91] 5636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add sp, sp, #32 ; encoding: [0xff,0x83,0x00,0x91] 5736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 5836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w3, w4, #1024 5936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w3, w4, #1024, lsl #0 6036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w3, w4, #1024, lsl #12 6136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x3, x4, #1024 6236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x3, x4, #1024, lsl #0 6336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x3, x4, #1024, lsl #12 6436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 6536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x31] 6636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x31] 67dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: adds w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x31] 6836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xb1] 6936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xb1] 70dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: adds x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0xb1] 7136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 7236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w3, w4, #1024 7336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w3, w4, #1024, lsl #0 7436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w3, w4, #1024, lsl #12 7536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x3, x4, #1024 7636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x3, x4, #1024, lsl #0 7736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x3, x4, #1024, lsl #12 7836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub sp, sp, #32 7936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 8036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x51] 8136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x51] 82dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: sub w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x51] 8336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xd1] 8436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xd1] 85dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: sub x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0xd1] 8636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub sp, sp, #32 ; encoding: [0xff,0x83,0x00,0xd1] 8736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 8836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w3, w4, #1024 8936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w3, w4, #1024, lsl #0 9036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w3, w4, #1024, lsl #12 9136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x3, x4, #1024 9236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x3, x4, #1024, lsl #0 9336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x3, x4, #1024, lsl #12 9436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 9536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x71] 9636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x71] 97dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: subs w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x71] 9836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xf1] 9936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xf1] 100dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: subs x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0xf1] 10136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 10236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 10336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Add/Subtract register with (optional) shift 10436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 10536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 10636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w12, w13, w14 10736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x12, x13, x14 10836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w12, w13, w14, lsl #12 10936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x12, x13, x14, lsl #12 11036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x12, x13, x14, lsr #42 11136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x12, x13, x14, asr #39 11236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 11336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w12, w13, w14 ; encoding: [0xac,0x01,0x0e,0x0b] 11436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x12, x13, x14 ; encoding: [0xac,0x01,0x0e,0x8b] 11536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w12, w13, w14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x0b] 11636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x12, x13, x14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x8b] 11736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x12, x13, x14, lsr #42 ; encoding: [0xac,0xa9,0x4e,0x8b] 11836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x12, x13, x14, asr #39 ; encoding: [0xac,0x9d,0x8e,0x8b] 11936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 12036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w12, w13, w14 12136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x12, x13, x14 12236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w12, w13, w14, lsl #12 12336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x12, x13, x14, lsl #12 12436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x12, x13, x14, lsr #42 12536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x12, x13, x14, asr #39 12636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 12736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w12, w13, w14 ; encoding: [0xac,0x01,0x0e,0x4b] 12836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x12, x13, x14 ; encoding: [0xac,0x01,0x0e,0xcb] 12936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w12, w13, w14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x4b] 13036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x12, x13, x14, lsl #12 ; encoding: [0xac,0x31,0x0e,0xcb] 13136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x12, x13, x14, lsr #42 ; encoding: [0xac,0xa9,0x4e,0xcb] 13236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x12, x13, x14, asr #39 ; encoding: [0xac,0x9d,0x8e,0xcb] 13336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 13436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w12, w13, w14 13536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x12, x13, x14 13636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w12, w13, w14, lsl #12 13736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x12, x13, x14, lsl #12 13836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x12, x13, x14, lsr #42 13936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x12, x13, x14, asr #39 14036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 14136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w12, w13, w14 ; encoding: [0xac,0x01,0x0e,0x2b] 14236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x12, x13, x14 ; encoding: [0xac,0x01,0x0e,0xab] 14336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w12, w13, w14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x2b] 14436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x12, x13, x14, lsl #12 ; encoding: [0xac,0x31,0x0e,0xab] 14536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x12, x13, x14, lsr #42 ; encoding: [0xac,0xa9,0x4e,0xab] 14636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x12, x13, x14, asr #39 ; encoding: [0xac,0x9d,0x8e,0xab] 14736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 14836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w12, w13, w14 14936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x12, x13, x14 15036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w12, w13, w14, lsl #12 15136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x12, x13, x14, lsl #12 15236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x12, x13, x14, lsr #42 15336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x12, x13, x14, asr #39 15436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 15536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w12, w13, w14 ; encoding: [0xac,0x01,0x0e,0x6b] 15636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x12, x13, x14 ; encoding: [0xac,0x01,0x0e,0xeb] 15736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w12, w13, w14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x6b] 15836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x12, x13, x14, lsl #12 ; encoding: [0xac,0x31,0x0e,0xeb] 15936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x12, x13, x14, lsr #42 ; encoding: [0xac,0xa9,0x4e,0xeb] 16036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x12, x13, x14, asr #39 ; encoding: [0xac,0x9d,0x8e,0xeb] 16136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 16236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Check use of upper case register names rdar://14354073 16336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add X2, X2, X2 16436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x2, x2, x2 ; encoding: [0x42,0x00,0x02,0x8b] 16536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 16636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 16736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Add/Subtract with (optional) extend 16836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 16936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 17036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, w2, w3, uxtb 17136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, w2, w3, uxth 17236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, w2, w3, uxtw 17336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, w2, w3, uxtx 17436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, w2, w3, sxtb 17536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, w2, w3, sxth 17636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, w2, w3, sxtw 17736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, w2, w3, sxtx 17836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 17936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, w2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x0b] 18036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, w2, w3, uxth ; encoding: [0x41,0x20,0x23,0x0b] 18136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, w2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x0b] 18236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, w2, w3, uxtx ; encoding: [0x41,0x60,0x23,0x0b] 18336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, w2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x0b] 18436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, w2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x0b] 18536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, w2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x0b] 18636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, w2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0x0b] 18736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 18836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x1, x2, w3, uxtb 18936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x1, x2, w3, uxth 19036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x1, x2, w3, uxtw 19136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x1, x2, w3, sxtb 19236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x1, x2, w3, sxth 19336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add x1, x2, w3, sxtw 19436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 19536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x1, x2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x8b] 19636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x1, x2, w3, uxth ; encoding: [0x41,0x20,0x23,0x8b] 19736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x1, x2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x8b] 19836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x1, x2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x8b] 19936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x1, x2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x8b] 20036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add x1, x2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x8b] 20136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 20236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, wsp, w3 20336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w1, wsp, w3, uxtw #0 20436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add w2, wsp, w3, lsl #1 20536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add sp, x2, x3 20636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add sp, x2, x3, uxtx #0 20736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 20836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x0b] 20936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x0b] 210dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: add w2, wsp, w3, lsl #1 ; encoding: [0xe2,0x47,0x23,0x0b] 21136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add sp, x2, x3 ; encoding: [0x5f,0x60,0x23,0x8b] 21236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: add sp, x2, x3 ; encoding: [0x5f,0x60,0x23,0x8b] 21336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 21436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, w2, w3, uxtb 21536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, w2, w3, uxth 21636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, w2, w3, uxtw 21736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, w2, w3, uxtx 21836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, w2, w3, sxtb 21936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, w2, w3, sxth 22036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, w2, w3, sxtw 22136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, w2, w3, sxtx 22236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 22336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, w2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x4b] 22436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, w2, w3, uxth ; encoding: [0x41,0x20,0x23,0x4b] 22536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, w2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x4b] 22636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, w2, w3, uxtx ; encoding: [0x41,0x60,0x23,0x4b] 22736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, w2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x4b] 22836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, w2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x4b] 22936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, w2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x4b] 23036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, w2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0x4b] 23136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 23236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x1, x2, w3, uxtb 23336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x1, x2, w3, uxth 23436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x1, x2, w3, uxtw 23536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x1, x2, w3, sxtb 23636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x1, x2, w3, sxth 23736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x1, x2, w3, sxtw 23836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 23936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x1, x2, w3, uxtb ; encoding: [0x41,0x00,0x23,0xcb] 24036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x1, x2, w3, uxth ; encoding: [0x41,0x20,0x23,0xcb] 24136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x1, x2, w3, uxtw ; encoding: [0x41,0x40,0x23,0xcb] 24236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x1, x2, w3, sxtb ; encoding: [0x41,0x80,0x23,0xcb] 24336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x1, x2, w3, sxth ; encoding: [0x41,0xa0,0x23,0xcb] 24436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub x1, x2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0xcb] 24536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 24636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, wsp, w3 24736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, wsp, w3, uxtw #0 24836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub sp, x2, x3 24936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub sp, x2, x3, uxtx #0 25036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub sp, x3, x7, lsl #4 25136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 25236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x4b] 25336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x4b] 25436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub sp, x2, x3 ; encoding: [0x5f,0x60,0x23,0xcb] 25536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub sp, x2, x3 ; encoding: [0x5f,0x60,0x23,0xcb] 25636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sp, x3, x7, lsl #4 ; encoding: [0x7f,0x70,0x27,0xcb] 25736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 25836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, w2, w3, uxtb 25936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, w2, w3, uxth 26036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, w2, w3, uxtw 26136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, w2, w3, uxtx 26236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, w2, w3, sxtb 26336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, w2, w3, sxth 26436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, w2, w3, sxtw 26536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, w2, w3, sxtx 26636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 26736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, w2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x2b] 26836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, w2, w3, uxth ; encoding: [0x41,0x20,0x23,0x2b] 26936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, w2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x2b] 27036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, w2, w3, uxtx ; encoding: [0x41,0x60,0x23,0x2b] 27136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, w2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x2b] 27236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, w2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x2b] 27336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, w2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x2b] 27436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, w2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0x2b] 27536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 27636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x1, x2, w3, uxtb 27736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x1, x2, w3, uxth 27836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x1, x2, w3, uxtw 27936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x1, x2, w3, uxtx 28036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x1, x2, w3, sxtb 28136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x1, x2, w3, sxth 28236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x1, x2, w3, sxtw 28336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds x1, x2, w3, sxtx 28436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 28536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x1, x2, w3, uxtb ; encoding: [0x41,0x00,0x23,0xab] 28636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x1, x2, w3, uxth ; encoding: [0x41,0x20,0x23,0xab] 28736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x1, x2, w3, uxtw ; encoding: [0x41,0x40,0x23,0xab] 28836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x1, x2, w3, uxtx ; encoding: [0x41,0x60,0x23,0xab] 28936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x1, x2, w3, sxtb ; encoding: [0x41,0x80,0x23,0xab] 29036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x1, x2, w3, sxth ; encoding: [0x41,0xa0,0x23,0xab] 29136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x1, x2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0xab] 29236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds x1, x2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0xab] 29336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 29436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, wsp, w3 29536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds w1, wsp, w3, uxtw #0 29636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines adds wzr, wsp, w3, lsl #4 29736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 29836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x2b] 29936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: adds w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x2b] 300dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: cmn wsp, w3, lsl #4 ; encoding: [0xff,0x53,0x23,0x2b] 30136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 30236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, w2, w3, uxtb 30336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, w2, w3, uxth 30436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, w2, w3, uxtw 30536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, w2, w3, uxtx 30636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, w2, w3, sxtb 30736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, w2, w3, sxth 30836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, w2, w3, sxtw 30936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, w2, w3, sxtx 31036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 31136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, w2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x6b] 31236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, w2, w3, uxth ; encoding: [0x41,0x20,0x23,0x6b] 31336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, w2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x6b] 31436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, w2, w3, uxtx ; encoding: [0x41,0x60,0x23,0x6b] 31536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, w2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x6b] 31636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, w2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x6b] 31736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, w2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x6b] 31836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, w2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0x6b] 31936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 32036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x1, x2, w3, uxtb 32136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x1, x2, w3, uxth 32236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x1, x2, w3, uxtw 32336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x1, x2, w3, uxtx 32436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x1, x2, w3, sxtb 32536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x1, x2, w3, sxth 32636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x1, x2, w3, sxtw 32736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x1, x2, w3, sxtx 32836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 32936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x1, x2, w3, uxtb ; encoding: [0x41,0x00,0x23,0xeb] 33036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x1, x2, w3, uxth ; encoding: [0x41,0x20,0x23,0xeb] 33136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x1, x2, w3, uxtw ; encoding: [0x41,0x40,0x23,0xeb] 33236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x1, x2, w3, uxtx ; encoding: [0x41,0x60,0x23,0xeb] 33336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x1, x2, w3, sxtb ; encoding: [0x41,0x80,0x23,0xeb] 33436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x1, x2, w3, sxth ; encoding: [0x41,0xa0,0x23,0xeb] 33536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x1, x2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0xeb] 33636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x1, x2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0xeb] 33736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 33836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, wsp, w3 33936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, wsp, w3, uxtw #0 34036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 34136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x6b] 34236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x6b] 34336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 34436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines cmp wsp, w9, lsl #0 34536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x3, sp, x9, lsl #2 34636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines cmp wsp, w8, uxtw 34736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs wzr, wsp, w8, uxtw 34836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines cmp sp, w8, uxtw 34936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs xzr, sp, w8, uxtw 35036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 351dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: cmp wsp, w9 ; encoding: [0xff,0x43,0x29,0x6b] 35236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs x3, sp, x9, lsl #2 ; encoding: [0xe3,0x6b,0x29,0xeb] 35336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: cmp wsp, w8 ; encoding: [0xff,0x43,0x28,0x6b] 35436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: cmp wsp, w8 ; encoding: [0xff,0x43,0x28,0x6b] 355dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: cmp sp, w8, uxtw ; encoding: [0xff,0x43,0x28,0xeb] 356dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: cmp sp, w8, uxtw ; encoding: [0xff,0x43,0x28,0xeb] 35736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 35836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub wsp, w9, w8, uxtw 35936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub w1, wsp, w8, uxtw 36036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub wsp, wsp, w8, uxtw 36136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub sp, x9, w8, uxtw 36236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub x1, sp, w8, uxtw 36336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sub sp, sp, w8, uxtw 36436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs w1, wsp, w8, uxtw 36536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines subs x1, sp, w8, uxtw 36636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 36736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub wsp, w9, w8 ; encoding: [0x3f,0x41,0x28,0x4b] 36836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub w1, wsp, w8 ; encoding: [0xe1,0x43,0x28,0x4b] 36936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sub wsp, wsp, w8 ; encoding: [0xff,0x43,0x28,0x4b] 370dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: sub sp, x9, w8, uxtw ; encoding: [0x3f,0x41,0x28,0xcb] 371dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: sub x1, sp, w8, uxtw ; encoding: [0xe1,0x43,0x28,0xcb] 372dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: sub sp, sp, w8, uxtw ; encoding: [0xff,0x43,0x28,0xcb] 37336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: subs w1, wsp, w8 ; encoding: [0xe1,0x43,0x28,0x6b] 374dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: subs x1, sp, w8, uxtw ; encoding: [0xe1,0x43,0x28,0xeb] 37536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 37636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 37736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Signed/Unsigned divide 37836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 37936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 38036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sdiv w1, w2, w3 38136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sdiv x1, x2, x3 38236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines udiv w1, w2, w3 38336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines udiv x1, x2, x3 38436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 38536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sdiv w1, w2, w3 ; encoding: [0x41,0x0c,0xc3,0x1a] 38636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: sdiv x1, x2, x3 ; encoding: [0x41,0x0c,0xc3,0x9a] 38736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: udiv w1, w2, w3 ; encoding: [0x41,0x08,0xc3,0x1a] 38836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: udiv x1, x2, x3 ; encoding: [0x41,0x08,0xc3,0x9a] 38936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 39036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 39136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Variable shifts 39236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 39336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 39436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines asrv w1, w2, w3 39536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines asrv x1, x2, x3 39636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines asr w1, w2, w3 39736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines asr x1, x2, x3 39836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lslv w1, w2, w3 39936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lslv x1, x2, x3 40036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lsl w1, w2, w3 40136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lsl x1, x2, x3 40236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lsrv w1, w2, w3 40336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lsrv x1, x2, x3 40436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lsr w1, w2, w3 40536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lsr x1, x2, x3 40636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines rorv w1, w2, w3 40736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines rorv x1, x2, x3 40836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ror w1, w2, w3 40936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ror x1, x2, x3 41036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 41136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x28,0xc3,0x1a] 41236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x28,0xc3,0x9a] 41336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x28,0xc3,0x1a] 41436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x28,0xc3,0x9a] 41536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x20,0xc3,0x1a] 41636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x20,0xc3,0x9a] 41736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x20,0xc3,0x1a] 41836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x20,0xc3,0x9a] 41936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x24,0xc3,0x1a] 42036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x24,0xc3,0x9a] 42136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x24,0xc3,0x1a] 42236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x24,0xc3,0x9a] 42336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x2c,0xc3,0x1a] 42436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x2c,0xc3,0x9a] 42536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x2c,0xc3,0x1a] 42636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x2c,0xc3,0x9a] 42736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 42836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 42936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; One operand instructions 43036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 43136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 43236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines cls w1, w2 43336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines cls x1, x2 43436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines clz w1, w2 43536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines clz x1, x2 43636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines rbit w1, w2 43736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines rbit x1, x2 43836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines rev w1, w2 43936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines rev x1, x2 44036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines rev16 w1, w2 44136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines rev16 x1, x2 44236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines rev32 x1, x2 44336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 44436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x14,0xc0,0x5a] 44536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x14,0xc0,0xda] 44636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x10,0xc0,0x5a] 44736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x10,0xc0,0xda] 44836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x00,0xc0,0x5a] 44936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x00,0xc0,0xda] 45036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x08,0xc0,0x5a] 45136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x0c,0xc0,0xda] 45236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x04,0xc0,0x5a] 45336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x04,0xc0,0xda] 45436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x08,0xc0,0xda] 45536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 45636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 45736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; 6.6.1 Multiply-add instructions 45836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 45936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 46036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines madd w1, w2, w3, w4 46136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines madd x1, x2, x3, x4 46236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines msub w1, w2, w3, w4 46336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines msub x1, x2, x3, x4 46436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines smaddl x1, w2, w3, x4 46536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines smsubl x1, w2, w3, x4 46636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines umaddl x1, w2, w3, x4 46736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines umsubl x1, w2, w3, x4 46836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 46936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: madd w1, w2, w3, w4 ; encoding: [0x41,0x10,0x03,0x1b] 47036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: madd x1, x2, x3, x4 ; encoding: [0x41,0x10,0x03,0x9b] 47136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: msub w1, w2, w3, w4 ; encoding: [0x41,0x90,0x03,0x1b] 47236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: msub x1, x2, x3, x4 ; encoding: [0x41,0x90,0x03,0x9b] 47336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: smaddl x1, w2, w3, x4 ; encoding: [0x41,0x10,0x23,0x9b] 47436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: smsubl x1, w2, w3, x4 ; encoding: [0x41,0x90,0x23,0x9b] 47536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: umaddl x1, w2, w3, x4 ; encoding: [0x41,0x10,0xa3,0x9b] 47636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: umsubl x1, w2, w3, x4 ; encoding: [0x41,0x90,0xa3,0x9b] 47736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 47836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 47936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Multiply-high instructions 48036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 48136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 48236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines smulh x1, x2, x3 48336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines umulh x1, x2, x3 48436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 48536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: smulh x1, x2, x3 ; encoding: [0x41,0x7c,0x43,0x9b] 48636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: umulh x1, x2, x3 ; encoding: [0x41,0x7c,0xc3,0x9b] 48736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 48836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 48936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Move immediate instructions 49036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 49136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 49236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movz w0, #1 49336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movz x0, #1 49436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movz w0, #1, lsl #16 49536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movz x0, #1, lsl #16 49636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 497de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: mov w0, #1 ; encoding: [0x20,0x00,0x80,0x52] 498de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: mov x0, #1 ; encoding: [0x20,0x00,0x80,0xd2] 499de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: mov w0, #65536 ; encoding: [0x20,0x00,0xa0,0x52] 500de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: mov x0, #65536 ; encoding: [0x20,0x00,0xa0,0xd2] 50136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 50236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movn w0, #2 50336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movn x0, #2 50436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movn w0, #2, lsl #16 50536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movn x0, #2, lsl #16 50636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 507de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: mov w0, #-3 ; encoding: [0x40,0x00,0x80,0x12] 508de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: mov x0, #-3 ; encoding: [0x40,0x00,0x80,0x92] 509de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: mov w0, #-131073 ; encoding: [0x40,0x00,0xa0,0x12] 510de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: mov x0, #-131073 ; encoding: [0x40,0x00,0xa0,0x92] 51136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 51236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movk w0, #1 51336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movk x0, #1 51436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movk w0, #1, lsl #16 51536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movk x0, #1, lsl #16 51636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 517de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: movk w0, #1 ; encoding: [0x20,0x00,0x80,0x72] 518de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: movk x0, #1 ; encoding: [0x20,0x00,0x80,0xf2] 519de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: movk w0, #1, lsl #16 ; encoding: [0x20,0x00,0xa0,0x72] 520de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar; CHECK: movk x0, #1, lsl #16 ; encoding: [0x20,0x00,0xa0,0xf2] 52136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 52236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 52336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Conditionally set flags instructions 52436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 52536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 52636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ccmn w1, #2, #3, eq 52736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ccmn x1, #2, #3, eq 52836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ccmp w1, #2, #3, eq 52936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ccmp x1, #2, #3, eq 53036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 53136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x23,0x08,0x42,0x3a] 53236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x23,0x08,0x42,0xba] 53336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x23,0x08,0x42,0x7a] 53436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x23,0x08,0x42,0xfa] 53536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 53636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ccmn w1, w2, #3, eq 53736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ccmn x1, x2, #3, eq 53836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ccmp w1, w2, #3, eq 53936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ccmp x1, x2, #3, eq 54036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 54136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x23,0x00,0x42,0x3a] 54236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x23,0x00,0x42,0xba] 54336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x23,0x00,0x42,0x7a] 54436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x23,0x00,0x42,0xfa] 54536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 54636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 54736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Conditional select instructions 54836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 54936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 55036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel w1, w2, w3, eq 55136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel x1, x2, x3, eq 55236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csinc w1, w2, w3, eq 55336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csinc x1, x2, x3, eq 55436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csinv w1, w2, w3, eq 55536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csinv x1, x2, x3, eq 55636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csneg w1, w2, w3, eq 55736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csneg x1, x2, x3, eq 55836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 55936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x00,0x83,0x1a] 56036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x00,0x83,0x9a] 56136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x04,0x83,0x1a] 56236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x04,0x83,0x9a] 56336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x00,0x83,0x5a] 56436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x00,0x83,0xda] 56536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x04,0x83,0x5a] 56636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: encoding: [0x41,0x04,0x83,0xda] 56736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 56836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Make sure we handle upper case, too. In particular, condition codes. 56936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines CSEL W16, W7, W27, EQ 57036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines CSEL W15, W6, W26, NE 57136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines CSEL W14, W5, W25, CS 57236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines CSEL W13, W4, W24, HS 57336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel w12, w3, w23, CC 57436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel w11, w2, w22, LO 57536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel w10, w1, w21, MI 57636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel x9, x9, x1, PL 57736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel x8, x8, x2, VS 57836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines CSEL X7, X7, X3, VC 57936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines CSEL X6, X7, X4, HI 58036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines CSEL X5, X6, X5, LS 58136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines CSEL X4, X5, X6, GE 58236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel x3, x4, x7, LT 58336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel x2, x3, x8, GT 58436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel x1, x2, x9, LE 58536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines csel x10, x1, x20, AL 58636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 58736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel w16, w7, w27, eq ; encoding: [0xf0,0x00,0x9b,0x1a] 58836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel w15, w6, w26, ne ; encoding: [0xcf,0x10,0x9a,0x1a] 589dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: csel w14, w5, w25, hs ; encoding: [0xae,0x20,0x99,0x1a] 590dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: csel w13, w4, w24, hs ; encoding: [0x8d,0x20,0x98,0x1a] 591dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: csel w12, w3, w23, lo ; encoding: [0x6c,0x30,0x97,0x1a] 592dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines; CHECK: csel w11, w2, w22, lo ; encoding: [0x4b,0x30,0x96,0x1a] 59336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel w10, w1, w21, mi ; encoding: [0x2a,0x40,0x95,0x1a] 59436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x9, x9, x1, pl ; encoding: [0x29,0x51,0x81,0x9a] 59536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x8, x8, x2, vs ; encoding: [0x08,0x61,0x82,0x9a] 59636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x7, x7, x3, vc ; encoding: [0xe7,0x70,0x83,0x9a] 59736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x6, x7, x4, hi ; encoding: [0xe6,0x80,0x84,0x9a] 59836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x5, x6, x5, ls ; encoding: [0xc5,0x90,0x85,0x9a] 59936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x4, x5, x6, ge ; encoding: [0xa4,0xa0,0x86,0x9a] 60036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x3, x4, x7, lt ; encoding: [0x83,0xb0,0x87,0x9a] 60136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x2, x3, x8, gt ; encoding: [0x62,0xc0,0x88,0x9a] 60236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x1, x2, x9, le ; encoding: [0x41,0xd0,0x89,0x9a] 60336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: csel x10, x1, x20, al ; encoding: [0x2a,0xe0,0x94,0x9a] 60436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 60536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 60636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 60736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; Scalar saturating arithmetic 60836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines;==---------------------------------------------------------------------------== 60936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines uqxtn b4, h2 61036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines uqxtn h2, s3 61136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines uqxtn s9, d2 61236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 61336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: uqxtn b4, h2 ; encoding: [0x44,0x48,0x21,0x7e] 61436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: uqxtn h2, s3 ; encoding: [0x62,0x48,0x61,0x7e] 61536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines; CHECK: uqxtn s9, d2 ; encoding: [0x49,0x48,0xa1,0x7e] 616