1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker// Check that the assembler can handle the documented syntax for AArch64 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 6*9880d681SAndroid Build Coastguard Worker// Scalar Compare Bitwise Equal 7*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker cmeq d20, d21, d22 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker// CHECK: cmeq d20, d21, d22 // encoding: [0xb4,0x8e,0xf6,0x7e] 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 14*9880d681SAndroid Build Coastguard Worker// Scalar Compare Bitwise Equal To Zero 15*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker cmeq d20, d21, #0x0 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker// CHECK: cmeq d20, d21, #{{0x0|0}} // encoding: [0xb4,0x9a,0xe0,0x5e] 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 22*9880d681SAndroid Build Coastguard Worker// Scalar Compare Unsigned Higher Or Same 23*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Worker cmhs d20, d21, d22 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Worker// CHECK: cmhs d20, d21, d22 // encoding: [0xb4,0x3e,0xf6,0x7e] 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 30*9880d681SAndroid Build Coastguard Worker// Scalar Compare Signed Greather Than Or Equal 31*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker cmge d20, d21, d22 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker// CHECK: cmge d20, d21, d22 // encoding: [0xb4,0x3e,0xf6,0x5e] 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 38*9880d681SAndroid Build Coastguard Worker// Scalar Compare Signed Greather Than Or Equal To Zero 39*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker cmge d20, d21, #0x0 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker// CHECK: cmge d20, d21, #{{0x0|0}} // encoding: [0xb4,0x8a,0xe0,0x7e] 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 46*9880d681SAndroid Build Coastguard Worker// Scalar Compare Unsigned Higher 47*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 48*9880d681SAndroid Build Coastguard Worker 49*9880d681SAndroid Build Coastguard Worker cmhi d20, d21, d22 50*9880d681SAndroid Build Coastguard Worker 51*9880d681SAndroid Build Coastguard Worker// CHECK: cmhi d20, d21, d22 // encoding: [0xb4,0x36,0xf6,0x7e] 52*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 53*9880d681SAndroid Build Coastguard Worker// Scalar Compare Signed Greater Than 54*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 55*9880d681SAndroid Build Coastguard Worker 56*9880d681SAndroid Build Coastguard Worker cmgt d20, d21, d22 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Worker// CHECK: cmgt d20, d21, d22 // encoding: [0xb4,0x36,0xf6,0x5e] 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 61*9880d681SAndroid Build Coastguard Worker// Scalar Compare Signed Greater Than Zero 62*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Worker cmgt d20, d21, #0x0 65*9880d681SAndroid Build Coastguard Worker 66*9880d681SAndroid Build Coastguard Worker// CHECK: cmgt d20, d21, #{{0x0|0}} // encoding: [0xb4,0x8a,0xe0,0x5e] 67*9880d681SAndroid Build Coastguard Worker 68*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 69*9880d681SAndroid Build Coastguard Worker// Scalar Compare Signed Less Than Or Equal To Zero 70*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Worker cmle d20, d21, #0x0 73*9880d681SAndroid Build Coastguard Worker 74*9880d681SAndroid Build Coastguard Worker// CHECK: cmle d20, d21, #{{0x0|0}} // encoding: [0xb4,0x9a,0xe0,0x7e] 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 77*9880d681SAndroid Build Coastguard Worker// Scalar Compare Less Than Zero 78*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 79*9880d681SAndroid Build Coastguard Worker 80*9880d681SAndroid Build Coastguard Worker cmlt d20, d21, #0x0 81*9880d681SAndroid Build Coastguard Worker 82*9880d681SAndroid Build Coastguard Worker// CHECK: cmlt d20, d21, #{{0x0|0}} // encoding: [0xb4,0xaa,0xe0,0x5e] 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 85*9880d681SAndroid Build Coastguard Worker// Scalar Compare Bitwise Test Bits 86*9880d681SAndroid Build Coastguard Worker//---------------------------------------------------------------------- 87*9880d681SAndroid Build Coastguard Worker 88*9880d681SAndroid Build Coastguard Worker cmtst d20, d21, d22 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Worker// CHECK: cmtst d20, d21, d22 // encoding: [0xb4,0x8e,0xf6,0x5e] 91