13b0846e8STim Northover; RUN: llvm-mc -triple arm64-apple-darwin -mattr=neon -show-encoding < %s | FileCheck %s 23b0846e8STim Northover 33b0846e8STim Northoverfoo: 43b0846e8STim Northover;==---------------------------------------------------------------------------== 53b0846e8STim Northover; Add/Subtract with carry/borrow 63b0846e8STim Northover;==---------------------------------------------------------------------------== 73b0846e8STim Northover 83b0846e8STim Northover adc w1, w2, w3 93b0846e8STim Northover adc x1, x2, x3 103b0846e8STim Northover adcs w5, w4, w3 113b0846e8STim Northover adcs x5, x4, x3 123b0846e8STim Northover 133b0846e8STim Northover; CHECK: adc w1, w2, w3 ; encoding: [0x41,0x00,0x03,0x1a] 143b0846e8STim Northover; CHECK: adc x1, x2, x3 ; encoding: [0x41,0x00,0x03,0x9a] 153b0846e8STim Northover; CHECK: adcs w5, w4, w3 ; encoding: [0x85,0x00,0x03,0x3a] 163b0846e8STim Northover; CHECK: adcs x5, x4, x3 ; encoding: [0x85,0x00,0x03,0xba] 173b0846e8STim Northover 183b0846e8STim Northover sbc w1, w2, w3 193b0846e8STim Northover sbc x1, x2, x3 203b0846e8STim Northover sbcs w1, w2, w3 213b0846e8STim Northover sbcs x1, x2, x3 223b0846e8STim Northover 233b0846e8STim Northover; CHECK: sbc w1, w2, w3 ; encoding: [0x41,0x00,0x03,0x5a] 243b0846e8STim Northover; CHECK: sbc x1, x2, x3 ; encoding: [0x41,0x00,0x03,0xda] 253b0846e8STim Northover; CHECK: sbcs w1, w2, w3 ; encoding: [0x41,0x00,0x03,0x7a] 263b0846e8STim Northover; CHECK: sbcs x1, x2, x3 ; encoding: [0x41,0x00,0x03,0xfa] 273b0846e8STim Northover 283b0846e8STim Northover;==---------------------------------------------------------------------------== 293b0846e8STim Northover; Add/Subtract with (optionally shifted) immediate 303b0846e8STim Northover;==---------------------------------------------------------------------------== 313b0846e8STim Northover 323b0846e8STim Northover add w3, w4, #1024 333b0846e8STim Northover add w3, w4, #1024, lsl #0 343b0846e8STim Northover add x3, x4, #1024 353b0846e8STim Northover add x3, x4, #1024, lsl #0 363b0846e8STim Northover 373b0846e8STim Northover; CHECK: add w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x11] 383b0846e8STim Northover; CHECK: add w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x11] 393b0846e8STim Northover; CHECK: add x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0x91] 403b0846e8STim Northover; CHECK: add x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0x91] 413b0846e8STim Northover 423b0846e8STim Northover add w3, w4, #1024, lsl #12 433b0846e8STim Northover add w3, w4, #4194304 443b0846e8STim Northover add w3, w4, #0, lsl #12 453b0846e8STim Northover add x3, x4, #1024, lsl #12 463b0846e8STim Northover add x3, x4, #4194304 473b0846e8STim Northover add x3, x4, #0, lsl #12 483b0846e8STim Northover add sp, sp, #32 493b0846e8STim Northover 503b0846e8STim Northover; CHECK: add w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x11] 513b0846e8STim Northover; CHECK: add w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x11] 523b0846e8STim Northover; CHECK: add w3, w4, #0, lsl #12 ; encoding: [0x83,0x00,0x40,0x11] 533b0846e8STim Northover; CHECK: add x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x91] 543b0846e8STim Northover; CHECK: add x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x91] 553b0846e8STim Northover; CHECK: add x3, x4, #0, lsl #12 ; encoding: [0x83,0x00,0x40,0x91] 563b0846e8STim Northover; CHECK: add sp, sp, #32 ; encoding: [0xff,0x83,0x00,0x91] 573b0846e8STim Northover 583b0846e8STim Northover adds w3, w4, #1024 593b0846e8STim Northover adds w3, w4, #1024, lsl #0 603b0846e8STim Northover adds w3, w4, #1024, lsl #12 613b0846e8STim Northover adds x3, x4, #1024 623b0846e8STim Northover adds x3, x4, #1024, lsl #0 633b0846e8STim Northover adds x3, x4, #1024, lsl #12 643b0846e8STim Northover 653b0846e8STim Northover; CHECK: adds w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x31] 663b0846e8STim Northover; CHECK: adds w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x31] 673b0846e8STim Northover; CHECK: adds w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x31] 683b0846e8STim Northover; CHECK: adds x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xb1] 693b0846e8STim Northover; CHECK: adds x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xb1] 703b0846e8STim Northover; CHECK: adds x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0xb1] 713b0846e8STim Northover 723b0846e8STim Northover sub w3, w4, #1024 733b0846e8STim Northover sub w3, w4, #1024, lsl #0 743b0846e8STim Northover sub w3, w4, #1024, lsl #12 753b0846e8STim Northover sub x3, x4, #1024 763b0846e8STim Northover sub x3, x4, #1024, lsl #0 773b0846e8STim Northover sub x3, x4, #1024, lsl #12 783b0846e8STim Northover sub sp, sp, #32 793b0846e8STim Northover 803b0846e8STim Northover; CHECK: sub w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x51] 813b0846e8STim Northover; CHECK: sub w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x51] 823b0846e8STim Northover; CHECK: sub w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x51] 833b0846e8STim Northover; CHECK: sub x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xd1] 843b0846e8STim Northover; CHECK: sub x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xd1] 853b0846e8STim Northover; CHECK: sub x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0xd1] 863b0846e8STim Northover; CHECK: sub sp, sp, #32 ; encoding: [0xff,0x83,0x00,0xd1] 873b0846e8STim Northover 883b0846e8STim Northover subs w3, w4, #1024 893b0846e8STim Northover subs w3, w4, #1024, lsl #0 903b0846e8STim Northover subs w3, w4, #1024, lsl #12 913b0846e8STim Northover subs x3, x4, #1024 923b0846e8STim Northover subs x3, x4, #1024, lsl #0 933b0846e8STim Northover subs x3, x4, #1024, lsl #12 943b0846e8STim Northover 953b0846e8STim Northover; CHECK: subs w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x71] 963b0846e8STim Northover; CHECK: subs w3, w4, #1024 ; encoding: [0x83,0x00,0x10,0x71] 973b0846e8STim Northover; CHECK: subs w3, w4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0x71] 983b0846e8STim Northover; CHECK: subs x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xf1] 993b0846e8STim Northover; CHECK: subs x3, x4, #1024 ; encoding: [0x83,0x00,0x10,0xf1] 1003b0846e8STim Northover; CHECK: subs x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0xf1] 1013b0846e8STim Northover 1023b0846e8STim Northover;==---------------------------------------------------------------------------== 1033b0846e8STim Northover; Add/Subtract register with (optional) shift 1043b0846e8STim Northover;==---------------------------------------------------------------------------== 1053b0846e8STim Northover 1063b0846e8STim Northover add w12, w13, w14 1073b0846e8STim Northover add x12, x13, x14 1083b0846e8STim Northover add w12, w13, w14, lsl #12 1093b0846e8STim Northover add x12, x13, x14, lsl #12 1103b0846e8STim Northover add x12, x13, x14, lsr #42 1113b0846e8STim Northover add x12, x13, x14, asr #39 1123b0846e8STim Northover 1133b0846e8STim Northover; CHECK: add w12, w13, w14 ; encoding: [0xac,0x01,0x0e,0x0b] 1143b0846e8STim Northover; CHECK: add x12, x13, x14 ; encoding: [0xac,0x01,0x0e,0x8b] 1153b0846e8STim Northover; CHECK: add w12, w13, w14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x0b] 1163b0846e8STim Northover; CHECK: add x12, x13, x14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x8b] 1173b0846e8STim Northover; CHECK: add x12, x13, x14, lsr #42 ; encoding: [0xac,0xa9,0x4e,0x8b] 1183b0846e8STim Northover; CHECK: add x12, x13, x14, asr #39 ; encoding: [0xac,0x9d,0x8e,0x8b] 1193b0846e8STim Northover 1203b0846e8STim Northover sub w12, w13, w14 1213b0846e8STim Northover sub x12, x13, x14 1223b0846e8STim Northover sub w12, w13, w14, lsl #12 1233b0846e8STim Northover sub x12, x13, x14, lsl #12 1243b0846e8STim Northover sub x12, x13, x14, lsr #42 1253b0846e8STim Northover sub x12, x13, x14, asr #39 1263b0846e8STim Northover 1273b0846e8STim Northover; CHECK: sub w12, w13, w14 ; encoding: [0xac,0x01,0x0e,0x4b] 1283b0846e8STim Northover; CHECK: sub x12, x13, x14 ; encoding: [0xac,0x01,0x0e,0xcb] 1293b0846e8STim Northover; CHECK: sub w12, w13, w14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x4b] 1303b0846e8STim Northover; CHECK: sub x12, x13, x14, lsl #12 ; encoding: [0xac,0x31,0x0e,0xcb] 1313b0846e8STim Northover; CHECK: sub x12, x13, x14, lsr #42 ; encoding: [0xac,0xa9,0x4e,0xcb] 1323b0846e8STim Northover; CHECK: sub x12, x13, x14, asr #39 ; encoding: [0xac,0x9d,0x8e,0xcb] 1333b0846e8STim Northover 1343b0846e8STim Northover adds w12, w13, w14 1353b0846e8STim Northover adds x12, x13, x14 1363b0846e8STim Northover adds w12, w13, w14, lsl #12 1373b0846e8STim Northover adds x12, x13, x14, lsl #12 1383b0846e8STim Northover adds x12, x13, x14, lsr #42 1393b0846e8STim Northover adds x12, x13, x14, asr #39 1403b0846e8STim Northover 1413b0846e8STim Northover; CHECK: adds w12, w13, w14 ; encoding: [0xac,0x01,0x0e,0x2b] 1423b0846e8STim Northover; CHECK: adds x12, x13, x14 ; encoding: [0xac,0x01,0x0e,0xab] 1433b0846e8STim Northover; CHECK: adds w12, w13, w14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x2b] 1443b0846e8STim Northover; CHECK: adds x12, x13, x14, lsl #12 ; encoding: [0xac,0x31,0x0e,0xab] 1453b0846e8STim Northover; CHECK: adds x12, x13, x14, lsr #42 ; encoding: [0xac,0xa9,0x4e,0xab] 1463b0846e8STim Northover; CHECK: adds x12, x13, x14, asr #39 ; encoding: [0xac,0x9d,0x8e,0xab] 1473b0846e8STim Northover 1483b0846e8STim Northover subs w12, w13, w14 1493b0846e8STim Northover subs x12, x13, x14 1503b0846e8STim Northover subs w12, w13, w14, lsl #12 1513b0846e8STim Northover subs x12, x13, x14, lsl #12 1523b0846e8STim Northover subs x12, x13, x14, lsr #42 1533b0846e8STim Northover subs x12, x13, x14, asr #39 1543b0846e8STim Northover 1553b0846e8STim Northover; CHECK: subs w12, w13, w14 ; encoding: [0xac,0x01,0x0e,0x6b] 1563b0846e8STim Northover; CHECK: subs x12, x13, x14 ; encoding: [0xac,0x01,0x0e,0xeb] 1573b0846e8STim Northover; CHECK: subs w12, w13, w14, lsl #12 ; encoding: [0xac,0x31,0x0e,0x6b] 1583b0846e8STim Northover; CHECK: subs x12, x13, x14, lsl #12 ; encoding: [0xac,0x31,0x0e,0xeb] 1593b0846e8STim Northover; CHECK: subs x12, x13, x14, lsr #42 ; encoding: [0xac,0xa9,0x4e,0xeb] 1603b0846e8STim Northover; CHECK: subs x12, x13, x14, asr #39 ; encoding: [0xac,0x9d,0x8e,0xeb] 1613b0846e8STim Northover 1623b0846e8STim Northover; Check use of upper case register names rdar://14354073 1633b0846e8STim Northover add X2, X2, X2 1643b0846e8STim Northover; CHECK: add x2, x2, x2 ; encoding: [0x42,0x00,0x02,0x8b] 1653b0846e8STim Northover 1663b0846e8STim Northover;==---------------------------------------------------------------------------== 1673b0846e8STim Northover; Add/Subtract with (optional) extend 1683b0846e8STim Northover;==---------------------------------------------------------------------------== 1693b0846e8STim Northover 1703b0846e8STim Northover add w1, w2, w3, uxtb 1713b0846e8STim Northover add w1, w2, w3, uxth 1723b0846e8STim Northover add w1, w2, w3, uxtw 1733b0846e8STim Northover add w1, w2, w3, uxtx 1743b0846e8STim Northover add w1, w2, w3, sxtb 1753b0846e8STim Northover add w1, w2, w3, sxth 1763b0846e8STim Northover add w1, w2, w3, sxtw 1773b0846e8STim Northover add w1, w2, w3, sxtx 1783b0846e8STim Northover 1793b0846e8STim Northover; CHECK: add w1, w2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x0b] 1803b0846e8STim Northover; CHECK: add w1, w2, w3, uxth ; encoding: [0x41,0x20,0x23,0x0b] 1813b0846e8STim Northover; CHECK: add w1, w2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x0b] 1823b0846e8STim Northover; CHECK: add w1, w2, w3, uxtx ; encoding: [0x41,0x60,0x23,0x0b] 1833b0846e8STim Northover; CHECK: add w1, w2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x0b] 1843b0846e8STim Northover; CHECK: add w1, w2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x0b] 1853b0846e8STim Northover; CHECK: add w1, w2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x0b] 1863b0846e8STim Northover; CHECK: add w1, w2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0x0b] 1873b0846e8STim Northover 1883b0846e8STim Northover add x1, x2, w3, uxtb 1893b0846e8STim Northover add x1, x2, w3, uxth 1903b0846e8STim Northover add x1, x2, w3, uxtw 1913b0846e8STim Northover add x1, x2, w3, sxtb 1923b0846e8STim Northover add x1, x2, w3, sxth 1933b0846e8STim Northover add x1, x2, w3, sxtw 1943b0846e8STim Northover 1953b0846e8STim Northover; CHECK: add x1, x2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x8b] 1963b0846e8STim Northover; CHECK: add x1, x2, w3, uxth ; encoding: [0x41,0x20,0x23,0x8b] 1973b0846e8STim Northover; CHECK: add x1, x2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x8b] 1983b0846e8STim Northover; CHECK: add x1, x2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x8b] 1993b0846e8STim Northover; CHECK: add x1, x2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x8b] 2003b0846e8STim Northover; CHECK: add x1, x2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x8b] 2013b0846e8STim Northover 2023b0846e8STim Northover add w1, wsp, w3 2033b0846e8STim Northover add w1, wsp, w3, uxtw #0 2043b0846e8STim Northover add w2, wsp, w3, lsl #1 2053b0846e8STim Northover add sp, x2, x3 2063b0846e8STim Northover add sp, x2, x3, uxtx #0 2073b0846e8STim Northover 2083b0846e8STim Northover; CHECK: add w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x0b] 2093b0846e8STim Northover; CHECK: add w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x0b] 2103b0846e8STim Northover; CHECK: add w2, wsp, w3, lsl #1 ; encoding: [0xe2,0x47,0x23,0x0b] 2113b0846e8STim Northover; CHECK: add sp, x2, x3 ; encoding: [0x5f,0x60,0x23,0x8b] 2123b0846e8STim Northover; CHECK: add sp, x2, x3 ; encoding: [0x5f,0x60,0x23,0x8b] 2133b0846e8STim Northover 2143b0846e8STim Northover sub w1, w2, w3, uxtb 2153b0846e8STim Northover sub w1, w2, w3, uxth 2163b0846e8STim Northover sub w1, w2, w3, uxtw 2173b0846e8STim Northover sub w1, w2, w3, uxtx 2183b0846e8STim Northover sub w1, w2, w3, sxtb 2193b0846e8STim Northover sub w1, w2, w3, sxth 2203b0846e8STim Northover sub w1, w2, w3, sxtw 2213b0846e8STim Northover sub w1, w2, w3, sxtx 2223b0846e8STim Northover 2233b0846e8STim Northover; CHECK: sub w1, w2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x4b] 2243b0846e8STim Northover; CHECK: sub w1, w2, w3, uxth ; encoding: [0x41,0x20,0x23,0x4b] 2253b0846e8STim Northover; CHECK: sub w1, w2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x4b] 2263b0846e8STim Northover; CHECK: sub w1, w2, w3, uxtx ; encoding: [0x41,0x60,0x23,0x4b] 2273b0846e8STim Northover; CHECK: sub w1, w2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x4b] 2283b0846e8STim Northover; CHECK: sub w1, w2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x4b] 2293b0846e8STim Northover; CHECK: sub w1, w2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x4b] 2303b0846e8STim Northover; CHECK: sub w1, w2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0x4b] 2313b0846e8STim Northover 2323b0846e8STim Northover sub x1, x2, w3, uxtb 2333b0846e8STim Northover sub x1, x2, w3, uxth 2343b0846e8STim Northover sub x1, x2, w3, uxtw 2353b0846e8STim Northover sub x1, x2, w3, sxtb 2363b0846e8STim Northover sub x1, x2, w3, sxth 2373b0846e8STim Northover sub x1, x2, w3, sxtw 2383b0846e8STim Northover 2393b0846e8STim Northover; CHECK: sub x1, x2, w3, uxtb ; encoding: [0x41,0x00,0x23,0xcb] 2403b0846e8STim Northover; CHECK: sub x1, x2, w3, uxth ; encoding: [0x41,0x20,0x23,0xcb] 2413b0846e8STim Northover; CHECK: sub x1, x2, w3, uxtw ; encoding: [0x41,0x40,0x23,0xcb] 2423b0846e8STim Northover; CHECK: sub x1, x2, w3, sxtb ; encoding: [0x41,0x80,0x23,0xcb] 2433b0846e8STim Northover; CHECK: sub x1, x2, w3, sxth ; encoding: [0x41,0xa0,0x23,0xcb] 2443b0846e8STim Northover; CHECK: sub x1, x2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0xcb] 2453b0846e8STim Northover 2463b0846e8STim Northover sub w1, wsp, w3 2473b0846e8STim Northover sub w1, wsp, w3, uxtw #0 2483b0846e8STim Northover sub sp, x2, x3 2493b0846e8STim Northover sub sp, x2, x3, uxtx #0 2503b0846e8STim Northover sub sp, x3, x7, lsl #4 2513b0846e8STim Northover 2523b0846e8STim Northover; CHECK: sub w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x4b] 2533b0846e8STim Northover; CHECK: sub w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x4b] 2543b0846e8STim Northover; CHECK: sub sp, x2, x3 ; encoding: [0x5f,0x60,0x23,0xcb] 2553b0846e8STim Northover; CHECK: sub sp, x2, x3 ; encoding: [0x5f,0x60,0x23,0xcb] 2563b0846e8STim Northover; CHECK: sp, x3, x7, lsl #4 ; encoding: [0x7f,0x70,0x27,0xcb] 2573b0846e8STim Northover 2583b0846e8STim Northover adds w1, w2, w3, uxtb 2593b0846e8STim Northover adds w1, w2, w3, uxth 2603b0846e8STim Northover adds w1, w2, w3, uxtw 2613b0846e8STim Northover adds w1, w2, w3, uxtx 2623b0846e8STim Northover adds w1, w2, w3, sxtb 2633b0846e8STim Northover adds w1, w2, w3, sxth 2643b0846e8STim Northover adds w1, w2, w3, sxtw 2653b0846e8STim Northover adds w1, w2, w3, sxtx 2663b0846e8STim Northover 2673b0846e8STim Northover; CHECK: adds w1, w2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x2b] 2683b0846e8STim Northover; CHECK: adds w1, w2, w3, uxth ; encoding: [0x41,0x20,0x23,0x2b] 2693b0846e8STim Northover; CHECK: adds w1, w2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x2b] 2703b0846e8STim Northover; CHECK: adds w1, w2, w3, uxtx ; encoding: [0x41,0x60,0x23,0x2b] 2713b0846e8STim Northover; CHECK: adds w1, w2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x2b] 2723b0846e8STim Northover; CHECK: adds w1, w2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x2b] 2733b0846e8STim Northover; CHECK: adds w1, w2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x2b] 2743b0846e8STim Northover; CHECK: adds w1, w2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0x2b] 2753b0846e8STim Northover 2763b0846e8STim Northover adds x1, x2, w3, uxtb 2773b0846e8STim Northover adds x1, x2, w3, uxth 2783b0846e8STim Northover adds x1, x2, w3, uxtw 2793b0846e8STim Northover adds x1, x2, w3, uxtx 2803b0846e8STim Northover adds x1, x2, w3, sxtb 2813b0846e8STim Northover adds x1, x2, w3, sxth 2823b0846e8STim Northover adds x1, x2, w3, sxtw 2833b0846e8STim Northover adds x1, x2, w3, sxtx 2843b0846e8STim Northover 2853b0846e8STim Northover; CHECK: adds x1, x2, w3, uxtb ; encoding: [0x41,0x00,0x23,0xab] 2863b0846e8STim Northover; CHECK: adds x1, x2, w3, uxth ; encoding: [0x41,0x20,0x23,0xab] 2873b0846e8STim Northover; CHECK: adds x1, x2, w3, uxtw ; encoding: [0x41,0x40,0x23,0xab] 2883b0846e8STim Northover; CHECK: adds x1, x2, w3, uxtx ; encoding: [0x41,0x60,0x23,0xab] 2893b0846e8STim Northover; CHECK: adds x1, x2, w3, sxtb ; encoding: [0x41,0x80,0x23,0xab] 2903b0846e8STim Northover; CHECK: adds x1, x2, w3, sxth ; encoding: [0x41,0xa0,0x23,0xab] 2913b0846e8STim Northover; CHECK: adds x1, x2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0xab] 2923b0846e8STim Northover; CHECK: adds x1, x2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0xab] 2933b0846e8STim Northover 2943b0846e8STim Northover adds w1, wsp, w3 2953b0846e8STim Northover adds w1, wsp, w3, uxtw #0 2963b0846e8STim Northover adds wzr, wsp, w3, lsl #4 2973b0846e8STim Northover 2983b0846e8STim Northover; CHECK: adds w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x2b] 2993b0846e8STim Northover; CHECK: adds w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x2b] 3003b0846e8STim Northover; CHECK: cmn wsp, w3, lsl #4 ; encoding: [0xff,0x53,0x23,0x2b] 3013b0846e8STim Northover 3023b0846e8STim Northover subs w1, w2, w3, uxtb 3033b0846e8STim Northover subs w1, w2, w3, uxth 3043b0846e8STim Northover subs w1, w2, w3, uxtw 3053b0846e8STim Northover subs w1, w2, w3, uxtx 3063b0846e8STim Northover subs w1, w2, w3, sxtb 3073b0846e8STim Northover subs w1, w2, w3, sxth 3083b0846e8STim Northover subs w1, w2, w3, sxtw 3093b0846e8STim Northover subs w1, w2, w3, sxtx 3103b0846e8STim Northover 3113b0846e8STim Northover; CHECK: subs w1, w2, w3, uxtb ; encoding: [0x41,0x00,0x23,0x6b] 3123b0846e8STim Northover; CHECK: subs w1, w2, w3, uxth ; encoding: [0x41,0x20,0x23,0x6b] 3133b0846e8STim Northover; CHECK: subs w1, w2, w3, uxtw ; encoding: [0x41,0x40,0x23,0x6b] 3143b0846e8STim Northover; CHECK: subs w1, w2, w3, uxtx ; encoding: [0x41,0x60,0x23,0x6b] 3153b0846e8STim Northover; CHECK: subs w1, w2, w3, sxtb ; encoding: [0x41,0x80,0x23,0x6b] 3163b0846e8STim Northover; CHECK: subs w1, w2, w3, sxth ; encoding: [0x41,0xa0,0x23,0x6b] 3173b0846e8STim Northover; CHECK: subs w1, w2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0x6b] 3183b0846e8STim Northover; CHECK: subs w1, w2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0x6b] 3193b0846e8STim Northover 3203b0846e8STim Northover subs x1, x2, w3, uxtb 3213b0846e8STim Northover subs x1, x2, w3, uxth 3223b0846e8STim Northover subs x1, x2, w3, uxtw 3233b0846e8STim Northover subs x1, x2, w3, uxtx 3243b0846e8STim Northover subs x1, x2, w3, sxtb 3253b0846e8STim Northover subs x1, x2, w3, sxth 3263b0846e8STim Northover subs x1, x2, w3, sxtw 3273b0846e8STim Northover subs x1, x2, w3, sxtx 3283b0846e8STim Northover 3293b0846e8STim Northover; CHECK: subs x1, x2, w3, uxtb ; encoding: [0x41,0x00,0x23,0xeb] 3303b0846e8STim Northover; CHECK: subs x1, x2, w3, uxth ; encoding: [0x41,0x20,0x23,0xeb] 3313b0846e8STim Northover; CHECK: subs x1, x2, w3, uxtw ; encoding: [0x41,0x40,0x23,0xeb] 3323b0846e8STim Northover; CHECK: subs x1, x2, w3, uxtx ; encoding: [0x41,0x60,0x23,0xeb] 3333b0846e8STim Northover; CHECK: subs x1, x2, w3, sxtb ; encoding: [0x41,0x80,0x23,0xeb] 3343b0846e8STim Northover; CHECK: subs x1, x2, w3, sxth ; encoding: [0x41,0xa0,0x23,0xeb] 3353b0846e8STim Northover; CHECK: subs x1, x2, w3, sxtw ; encoding: [0x41,0xc0,0x23,0xeb] 3363b0846e8STim Northover; CHECK: subs x1, x2, w3, sxtx ; encoding: [0x41,0xe0,0x23,0xeb] 3373b0846e8STim Northover 3383b0846e8STim Northover subs w1, wsp, w3 3393b0846e8STim Northover subs w1, wsp, w3, uxtw #0 3403b0846e8STim Northover 3413b0846e8STim Northover; CHECK: subs w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x6b] 3423b0846e8STim Northover; CHECK: subs w1, wsp, w3 ; encoding: [0xe1,0x43,0x23,0x6b] 3433b0846e8STim Northover 3443b0846e8STim Northover cmp wsp, w9, lsl #0 3453b0846e8STim Northover subs x3, sp, x9, lsl #2 3463b0846e8STim Northover cmp wsp, w8, uxtw 3473b0846e8STim Northover subs wzr, wsp, w8, uxtw 3483b0846e8STim Northover cmp sp, w8, uxtw 3493b0846e8STim Northover subs xzr, sp, w8, uxtw 3503b0846e8STim Northover 3513b0846e8STim Northover; CHECK: cmp wsp, w9 ; encoding: [0xff,0x43,0x29,0x6b] 3523b0846e8STim Northover; CHECK: subs x3, sp, x9, lsl #2 ; encoding: [0xe3,0x6b,0x29,0xeb] 3533b0846e8STim Northover; CHECK: cmp wsp, w8 ; encoding: [0xff,0x43,0x28,0x6b] 3543b0846e8STim Northover; CHECK: cmp wsp, w8 ; encoding: [0xff,0x43,0x28,0x6b] 3553b0846e8STim Northover; CHECK: cmp sp, w8, uxtw ; encoding: [0xff,0x43,0x28,0xeb] 3563b0846e8STim Northover; CHECK: cmp sp, w8, uxtw ; encoding: [0xff,0x43,0x28,0xeb] 3573b0846e8STim Northover 3583b0846e8STim Northover sub wsp, w9, w8, uxtw 3593b0846e8STim Northover sub w1, wsp, w8, uxtw 3603b0846e8STim Northover sub wsp, wsp, w8, uxtw 3613b0846e8STim Northover sub sp, x9, w8, uxtw 3623b0846e8STim Northover sub x1, sp, w8, uxtw 3633b0846e8STim Northover sub sp, sp, w8, uxtw 3643b0846e8STim Northover subs w1, wsp, w8, uxtw 3653b0846e8STim Northover subs x1, sp, w8, uxtw 3663b0846e8STim Northover 3673b0846e8STim Northover; CHECK: sub wsp, w9, w8 ; encoding: [0x3f,0x41,0x28,0x4b] 3683b0846e8STim Northover; CHECK: sub w1, wsp, w8 ; encoding: [0xe1,0x43,0x28,0x4b] 3693b0846e8STim Northover; CHECK: sub wsp, wsp, w8 ; encoding: [0xff,0x43,0x28,0x4b] 3703b0846e8STim Northover; CHECK: sub sp, x9, w8, uxtw ; encoding: [0x3f,0x41,0x28,0xcb] 3713b0846e8STim Northover; CHECK: sub x1, sp, w8, uxtw ; encoding: [0xe1,0x43,0x28,0xcb] 3723b0846e8STim Northover; CHECK: sub sp, sp, w8, uxtw ; encoding: [0xff,0x43,0x28,0xcb] 3733b0846e8STim Northover; CHECK: subs w1, wsp, w8 ; encoding: [0xe1,0x43,0x28,0x6b] 3743b0846e8STim Northover; CHECK: subs x1, sp, w8, uxtw ; encoding: [0xe1,0x43,0x28,0xeb] 3753b0846e8STim Northover 3763b0846e8STim Northover;==---------------------------------------------------------------------------== 3773b0846e8STim Northover; Signed/Unsigned divide 3783b0846e8STim Northover;==---------------------------------------------------------------------------== 3793b0846e8STim Northover 3803b0846e8STim Northover sdiv w1, w2, w3 3813b0846e8STim Northover sdiv x1, x2, x3 3823b0846e8STim Northover udiv w1, w2, w3 3833b0846e8STim Northover udiv x1, x2, x3 3843b0846e8STim Northover 3853b0846e8STim Northover; CHECK: sdiv w1, w2, w3 ; encoding: [0x41,0x0c,0xc3,0x1a] 3863b0846e8STim Northover; CHECK: sdiv x1, x2, x3 ; encoding: [0x41,0x0c,0xc3,0x9a] 3873b0846e8STim Northover; CHECK: udiv w1, w2, w3 ; encoding: [0x41,0x08,0xc3,0x1a] 3883b0846e8STim Northover; CHECK: udiv x1, x2, x3 ; encoding: [0x41,0x08,0xc3,0x9a] 3893b0846e8STim Northover 3903b0846e8STim Northover;==---------------------------------------------------------------------------== 3913b0846e8STim Northover; Variable shifts 3923b0846e8STim Northover;==---------------------------------------------------------------------------== 3933b0846e8STim Northover 3943b0846e8STim Northover asrv w1, w2, w3 3953b0846e8STim Northover asrv x1, x2, x3 3963b0846e8STim Northover asr w1, w2, w3 3973b0846e8STim Northover asr x1, x2, x3 3983b0846e8STim Northover lslv w1, w2, w3 3993b0846e8STim Northover lslv x1, x2, x3 4003b0846e8STim Northover lsl w1, w2, w3 4013b0846e8STim Northover lsl x1, x2, x3 4023b0846e8STim Northover lsrv w1, w2, w3 4033b0846e8STim Northover lsrv x1, x2, x3 4043b0846e8STim Northover lsr w1, w2, w3 4053b0846e8STim Northover lsr x1, x2, x3 4063b0846e8STim Northover rorv w1, w2, w3 4073b0846e8STim Northover rorv x1, x2, x3 4083b0846e8STim Northover ror w1, w2, w3 4093b0846e8STim Northover ror x1, x2, x3 4103b0846e8STim Northover 4113b0846e8STim Northover; CHECK: encoding: [0x41,0x28,0xc3,0x1a] 4123b0846e8STim Northover; CHECK: encoding: [0x41,0x28,0xc3,0x9a] 4133b0846e8STim Northover; CHECK: encoding: [0x41,0x28,0xc3,0x1a] 4143b0846e8STim Northover; CHECK: encoding: [0x41,0x28,0xc3,0x9a] 4153b0846e8STim Northover; CHECK: encoding: [0x41,0x20,0xc3,0x1a] 4163b0846e8STim Northover; CHECK: encoding: [0x41,0x20,0xc3,0x9a] 4173b0846e8STim Northover; CHECK: encoding: [0x41,0x20,0xc3,0x1a] 4183b0846e8STim Northover; CHECK: encoding: [0x41,0x20,0xc3,0x9a] 4193b0846e8STim Northover; CHECK: encoding: [0x41,0x24,0xc3,0x1a] 4203b0846e8STim Northover; CHECK: encoding: [0x41,0x24,0xc3,0x9a] 4213b0846e8STim Northover; CHECK: encoding: [0x41,0x24,0xc3,0x1a] 4223b0846e8STim Northover; CHECK: encoding: [0x41,0x24,0xc3,0x9a] 4233b0846e8STim Northover; CHECK: encoding: [0x41,0x2c,0xc3,0x1a] 4243b0846e8STim Northover; CHECK: encoding: [0x41,0x2c,0xc3,0x9a] 4253b0846e8STim Northover; CHECK: encoding: [0x41,0x2c,0xc3,0x1a] 4263b0846e8STim Northover; CHECK: encoding: [0x41,0x2c,0xc3,0x9a] 4273b0846e8STim Northover 4283b0846e8STim Northover;==---------------------------------------------------------------------------== 4293b0846e8STim Northover; One operand instructions 4303b0846e8STim Northover;==---------------------------------------------------------------------------== 4313b0846e8STim Northover 4323b0846e8STim Northover cls w1, w2 4333b0846e8STim Northover cls x1, x2 4343b0846e8STim Northover clz w1, w2 4353b0846e8STim Northover clz x1, x2 4363b0846e8STim Northover rbit w1, w2 4373b0846e8STim Northover rbit x1, x2 4383b0846e8STim Northover rev w1, w2 4393b0846e8STim Northover rev x1, x2 4403b0846e8STim Northover rev16 w1, w2 4413b0846e8STim Northover rev16 x1, x2 4423b0846e8STim Northover rev32 x1, x2 4433b0846e8STim Northover 4443b0846e8STim Northover; CHECK: encoding: [0x41,0x14,0xc0,0x5a] 4453b0846e8STim Northover; CHECK: encoding: [0x41,0x14,0xc0,0xda] 4463b0846e8STim Northover; CHECK: encoding: [0x41,0x10,0xc0,0x5a] 4473b0846e8STim Northover; CHECK: encoding: [0x41,0x10,0xc0,0xda] 4483b0846e8STim Northover; CHECK: encoding: [0x41,0x00,0xc0,0x5a] 4493b0846e8STim Northover; CHECK: encoding: [0x41,0x00,0xc0,0xda] 4503b0846e8STim Northover; CHECK: encoding: [0x41,0x08,0xc0,0x5a] 4513b0846e8STim Northover; CHECK: encoding: [0x41,0x0c,0xc0,0xda] 4523b0846e8STim Northover; CHECK: encoding: [0x41,0x04,0xc0,0x5a] 4533b0846e8STim Northover; CHECK: encoding: [0x41,0x04,0xc0,0xda] 4543b0846e8STim Northover; CHECK: encoding: [0x41,0x08,0xc0,0xda] 4553b0846e8STim Northover 4563b0846e8STim Northover;==---------------------------------------------------------------------------== 4573b0846e8STim Northover; 6.6.1 Multiply-add instructions 4583b0846e8STim Northover;==---------------------------------------------------------------------------== 4593b0846e8STim Northover 4603b0846e8STim Northover madd w1, w2, w3, w4 4613b0846e8STim Northover madd x1, x2, x3, x4 4623b0846e8STim Northover msub w1, w2, w3, w4 4633b0846e8STim Northover msub x1, x2, x3, x4 4643b0846e8STim Northover smaddl x1, w2, w3, x4 4653b0846e8STim Northover smsubl x1, w2, w3, x4 4663b0846e8STim Northover umaddl x1, w2, w3, x4 4673b0846e8STim Northover umsubl x1, w2, w3, x4 4683b0846e8STim Northover 4693b0846e8STim Northover; CHECK: madd w1, w2, w3, w4 ; encoding: [0x41,0x10,0x03,0x1b] 4703b0846e8STim Northover; CHECK: madd x1, x2, x3, x4 ; encoding: [0x41,0x10,0x03,0x9b] 4713b0846e8STim Northover; CHECK: msub w1, w2, w3, w4 ; encoding: [0x41,0x90,0x03,0x1b] 4723b0846e8STim Northover; CHECK: msub x1, x2, x3, x4 ; encoding: [0x41,0x90,0x03,0x9b] 4733b0846e8STim Northover; CHECK: smaddl x1, w2, w3, x4 ; encoding: [0x41,0x10,0x23,0x9b] 4743b0846e8STim Northover; CHECK: smsubl x1, w2, w3, x4 ; encoding: [0x41,0x90,0x23,0x9b] 4753b0846e8STim Northover; CHECK: umaddl x1, w2, w3, x4 ; encoding: [0x41,0x10,0xa3,0x9b] 4763b0846e8STim Northover; CHECK: umsubl x1, w2, w3, x4 ; encoding: [0x41,0x90,0xa3,0x9b] 4773b0846e8STim Northover 4783b0846e8STim Northover;==---------------------------------------------------------------------------== 4793b0846e8STim Northover; Multiply-high instructions 4803b0846e8STim Northover;==---------------------------------------------------------------------------== 4813b0846e8STim Northover 4823b0846e8STim Northover smulh x1, x2, x3 4833b0846e8STim Northover umulh x1, x2, x3 4843b0846e8STim Northover 4853b0846e8STim Northover; CHECK: smulh x1, x2, x3 ; encoding: [0x41,0x7c,0x43,0x9b] 4863b0846e8STim Northover; CHECK: umulh x1, x2, x3 ; encoding: [0x41,0x7c,0xc3,0x9b] 4873b0846e8STim Northover 4883b0846e8STim Northover;==---------------------------------------------------------------------------== 4893b0846e8STim Northover; Move immediate instructions 4903b0846e8STim Northover;==---------------------------------------------------------------------------== 4913b0846e8STim Northover 4923b0846e8STim Northover movz w0, #1 4933b0846e8STim Northover movz x0, #1 4943b0846e8STim Northover movz w0, #1, lsl #16 4953b0846e8STim Northover movz x0, #1, lsl #16 4963b0846e8STim Northover 497*daa1c018STim Northover; CHECK: mov w0, #1 ; encoding: [0x20,0x00,0x80,0x52] 498*daa1c018STim Northover; CHECK: mov x0, #1 ; encoding: [0x20,0x00,0x80,0xd2] 499*daa1c018STim Northover; CHECK: mov w0, #65536 ; encoding: [0x20,0x00,0xa0,0x52] 500*daa1c018STim Northover; CHECK: mov x0, #65536 ; encoding: [0x20,0x00,0xa0,0xd2] 5013b0846e8STim Northover 5023b0846e8STim Northover movn w0, #2 5033b0846e8STim Northover movn x0, #2 5043b0846e8STim Northover movn w0, #2, lsl #16 5053b0846e8STim Northover movn x0, #2, lsl #16 5063b0846e8STim Northover 507*daa1c018STim Northover; CHECK: mov w0, #-3 ; encoding: [0x40,0x00,0x80,0x12] 508*daa1c018STim Northover; CHECK: mov x0, #-3 ; encoding: [0x40,0x00,0x80,0x92] 509*daa1c018STim Northover; CHECK: mov w0, #-131073 ; encoding: [0x40,0x00,0xa0,0x12] 510*daa1c018STim Northover; CHECK: mov x0, #-131073 ; encoding: [0x40,0x00,0xa0,0x92] 5113b0846e8STim Northover 5123b0846e8STim Northover movk w0, #1 5133b0846e8STim Northover movk x0, #1 5143b0846e8STim Northover movk w0, #1, lsl #16 5153b0846e8STim Northover movk x0, #1, lsl #16 5163b0846e8STim Northover 5174f5b3be7SPaul Osmialowski; CHECK: movk w0, #1 ; encoding: [0x20,0x00,0x80,0x72] 5184f5b3be7SPaul Osmialowski; CHECK: movk x0, #1 ; encoding: [0x20,0x00,0x80,0xf2] 5194f5b3be7SPaul Osmialowski; CHECK: movk w0, #1, lsl #16 ; encoding: [0x20,0x00,0xa0,0x72] 5204f5b3be7SPaul Osmialowski; CHECK: movk x0, #1, lsl #16 ; encoding: [0x20,0x00,0xa0,0xf2] 5213b0846e8STim Northover 5223b0846e8STim Northover;==---------------------------------------------------------------------------== 5233b0846e8STim Northover; Conditionally set flags instructions 5243b0846e8STim Northover;==---------------------------------------------------------------------------== 5253b0846e8STim Northover 5263b0846e8STim Northover ccmn w1, #2, #3, eq 5273b0846e8STim Northover ccmn x1, #2, #3, eq 5283b0846e8STim Northover ccmp w1, #2, #3, eq 5293b0846e8STim Northover ccmp x1, #2, #3, eq 5303b0846e8STim Northover 5313b0846e8STim Northover; CHECK: encoding: [0x23,0x08,0x42,0x3a] 5323b0846e8STim Northover; CHECK: encoding: [0x23,0x08,0x42,0xba] 5333b0846e8STim Northover; CHECK: encoding: [0x23,0x08,0x42,0x7a] 5343b0846e8STim Northover; CHECK: encoding: [0x23,0x08,0x42,0xfa] 5353b0846e8STim Northover 5363b0846e8STim Northover ccmn w1, w2, #3, eq 5373b0846e8STim Northover ccmn x1, x2, #3, eq 5383b0846e8STim Northover ccmp w1, w2, #3, eq 5393b0846e8STim Northover ccmp x1, x2, #3, eq 5403b0846e8STim Northover 5413b0846e8STim Northover; CHECK: encoding: [0x23,0x00,0x42,0x3a] 5423b0846e8STim Northover; CHECK: encoding: [0x23,0x00,0x42,0xba] 5433b0846e8STim Northover; CHECK: encoding: [0x23,0x00,0x42,0x7a] 5443b0846e8STim Northover; CHECK: encoding: [0x23,0x00,0x42,0xfa] 5453b0846e8STim Northover 5463b0846e8STim Northover;==---------------------------------------------------------------------------== 5473b0846e8STim Northover; Conditional select instructions 5483b0846e8STim Northover;==---------------------------------------------------------------------------== 5493b0846e8STim Northover 5503b0846e8STim Northover csel w1, w2, w3, eq 5513b0846e8STim Northover csel x1, x2, x3, eq 5523b0846e8STim Northover csinc w1, w2, w3, eq 5533b0846e8STim Northover csinc x1, x2, x3, eq 5543b0846e8STim Northover csinv w1, w2, w3, eq 5553b0846e8STim Northover csinv x1, x2, x3, eq 5563b0846e8STim Northover csneg w1, w2, w3, eq 5573b0846e8STim Northover csneg x1, x2, x3, eq 5583b0846e8STim Northover 5593b0846e8STim Northover; CHECK: encoding: [0x41,0x00,0x83,0x1a] 5603b0846e8STim Northover; CHECK: encoding: [0x41,0x00,0x83,0x9a] 5613b0846e8STim Northover; CHECK: encoding: [0x41,0x04,0x83,0x1a] 5623b0846e8STim Northover; CHECK: encoding: [0x41,0x04,0x83,0x9a] 5633b0846e8STim Northover; CHECK: encoding: [0x41,0x00,0x83,0x5a] 5643b0846e8STim Northover; CHECK: encoding: [0x41,0x00,0x83,0xda] 5653b0846e8STim Northover; CHECK: encoding: [0x41,0x04,0x83,0x5a] 5663b0846e8STim Northover; CHECK: encoding: [0x41,0x04,0x83,0xda] 5673b0846e8STim Northover 5683b0846e8STim Northover; Make sure we handle upper case, too. In particular, condition codes. 5693b0846e8STim Northover CSEL W16, W7, W27, EQ 5703b0846e8STim Northover CSEL W15, W6, W26, NE 5713b0846e8STim Northover CSEL W14, W5, W25, CS 5723b0846e8STim Northover CSEL W13, W4, W24, HS 5733b0846e8STim Northover csel w12, w3, w23, CC 5743b0846e8STim Northover csel w11, w2, w22, LO 5753b0846e8STim Northover csel w10, w1, w21, MI 5763b0846e8STim Northover csel x9, x9, x1, PL 5773b0846e8STim Northover csel x8, x8, x2, VS 5783b0846e8STim Northover CSEL X7, X7, X3, VC 5793b0846e8STim Northover CSEL X6, X7, X4, HI 5803b0846e8STim Northover CSEL X5, X6, X5, LS 5813b0846e8STim Northover CSEL X4, X5, X6, GE 5823b0846e8STim Northover csel x3, x4, x7, LT 5833b0846e8STim Northover csel x2, x3, x8, GT 5843b0846e8STim Northover csel x1, x2, x9, LE 5853b0846e8STim Northover csel x10, x1, x20, AL 5863b0846e8STim Northover 5873b0846e8STim Northover; CHECK: csel w16, w7, w27, eq ; encoding: [0xf0,0x00,0x9b,0x1a] 5883b0846e8STim Northover; CHECK: csel w15, w6, w26, ne ; encoding: [0xcf,0x10,0x9a,0x1a] 5893b0846e8STim Northover; CHECK: csel w14, w5, w25, hs ; encoding: [0xae,0x20,0x99,0x1a] 5903b0846e8STim Northover; CHECK: csel w13, w4, w24, hs ; encoding: [0x8d,0x20,0x98,0x1a] 5913b0846e8STim Northover; CHECK: csel w12, w3, w23, lo ; encoding: [0x6c,0x30,0x97,0x1a] 5923b0846e8STim Northover; CHECK: csel w11, w2, w22, lo ; encoding: [0x4b,0x30,0x96,0x1a] 5933b0846e8STim Northover; CHECK: csel w10, w1, w21, mi ; encoding: [0x2a,0x40,0x95,0x1a] 5943b0846e8STim Northover; CHECK: csel x9, x9, x1, pl ; encoding: [0x29,0x51,0x81,0x9a] 5953b0846e8STim Northover; CHECK: csel x8, x8, x2, vs ; encoding: [0x08,0x61,0x82,0x9a] 5963b0846e8STim Northover; CHECK: csel x7, x7, x3, vc ; encoding: [0xe7,0x70,0x83,0x9a] 5973b0846e8STim Northover; CHECK: csel x6, x7, x4, hi ; encoding: [0xe6,0x80,0x84,0x9a] 5983b0846e8STim Northover; CHECK: csel x5, x6, x5, ls ; encoding: [0xc5,0x90,0x85,0x9a] 5993b0846e8STim Northover; CHECK: csel x4, x5, x6, ge ; encoding: [0xa4,0xa0,0x86,0x9a] 6003b0846e8STim Northover; CHECK: csel x3, x4, x7, lt ; encoding: [0x83,0xb0,0x87,0x9a] 6013b0846e8STim Northover; CHECK: csel x2, x3, x8, gt ; encoding: [0x62,0xc0,0x88,0x9a] 6023b0846e8STim Northover; CHECK: csel x1, x2, x9, le ; encoding: [0x41,0xd0,0x89,0x9a] 6033b0846e8STim Northover; CHECK: csel x10, x1, x20, al ; encoding: [0x2a,0xe0,0x94,0x9a] 6043b0846e8STim Northover 6053b0846e8STim Northover 6063b0846e8STim Northover;==---------------------------------------------------------------------------== 6073b0846e8STim Northover; Scalar saturating arithmetic 6083b0846e8STim Northover;==---------------------------------------------------------------------------== 6093b0846e8STim Northover uqxtn b4, h2 6103b0846e8STim Northover uqxtn h2, s3 6113b0846e8STim Northover uqxtn s9, d2 6123b0846e8STim Northover 6133b0846e8STim Northover; CHECK: uqxtn b4, h2 ; encoding: [0x44,0x48,0x21,0x7e] 6143b0846e8STim Northover; CHECK: uqxtn h2, s3 ; encoding: [0x62,0x48,0x61,0x7e] 6153b0846e8STim Northover; CHECK: uqxtn s9, d2 ; encoding: [0x49,0x48,0xa1,0x7e] 616