1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s 2 3 vceq.i8 d16, d16, d17 4 vceq.i16 d16, d16, d17 5 vceq.i32 d16, d16, d17 6 vceq.f32 d16, d16, d17 7 vceq.i8 q8, q8, q9 8 vceq.i16 q8, q8, q9 9 vceq.i32 q8, q8, q9 10 vceq.f32 q8, q8, q9 11 12 @ CHECK: vceq.i8 d16, d16, d17 @ encoding: [0xb1,0x08,0x40,0xf3] 13 @ CHECK: vceq.i16 d16, d16, d17 @ encoding: [0xb1,0x08,0x50,0xf3] 14 @ CHECK: vceq.i32 d16, d16, d17 @ encoding: [0xb1,0x08,0x60,0xf3] 15 @ CHECK: vceq.f32 d16, d16, d17 @ encoding: [0xa1,0x0e,0x40,0xf2] 16 @ CHECK: vceq.i8 q8, q8, q9 @ encoding: [0xf2,0x08,0x40,0xf3] 17 @ CHECK: vceq.i16 q8, q8, q9 @ encoding: [0xf2,0x08,0x50,0xf3] 18 @ CHECK: vceq.i32 q8, q8, q9 @ encoding: [0xf2,0x08,0x60,0xf3] 19 @ CHECK: vceq.f32 q8, q8, q9 @ encoding: [0xe2,0x0e,0x40,0xf2] 20 21 vcge.s8 d16, d16, d17 22 vcge.s16 d16, d16, d17 23 vcge.s32 d16, d16, d17 24 vcge.u8 d16, d16, d17 25 vcge.u16 d16, d16, d17 26 vcge.u32 d16, d16, d17 27 vcge.f32 d16, d16, d17 28 vcge.s8 q8, q8, q9 29 vcge.s16 q8, q8, q9 30 vcge.s32 q8, q8, q9 31 vcge.u8 q8, q8, q9 32 vcge.u16 q8, q8, q9 33 vcge.u32 q8, q8, q9 34 vcge.f32 q8, q8, q9 35 vacge.f32 d16, d16, d17 36 vacge.f32 q8, q8, q9 37 38 @ CHECK: vcge.s8 d16, d16, d17 @ encoding: [0xb1,0x03,0x40,0xf2] 39 @ CHECK: vcge.s16 d16, d16, d17 @ encoding: [0xb1,0x03,0x50,0xf2] 40 @ CHECK: vcge.s32 d16, d16, d17 @ encoding: [0xb1,0x03,0x60,0xf2] 41 @ CHECK: vcge.u8 d16, d16, d17 @ encoding: [0xb1,0x03,0x40,0xf3] 42 @ CHECK: vcge.u16 d16, d16, d17 @ encoding: [0xb1,0x03,0x50,0xf3] 43 @ CHECK: vcge.u32 d16, d16, d17 @ encoding: [0xb1,0x03,0x60,0xf3] 44 @ CHECK: vcge.f32 d16, d16, d17 @ encoding: [0xa1,0x0e,0x40,0xf3] 45 @ CHECK: vcge.s8 q8, q8, q9 @ encoding: [0xf2,0x03,0x40,0xf2] 46 @ CHECK: vcge.s16 q8, q8, q9 @ encoding: [0xf2,0x03,0x50,0xf2] 47 @ CHECK: vcge.s32 q8, q8, q9 @ encoding: [0xf2,0x03,0x60,0xf2] 48 @ CHECK: vcge.u8 q8, q8, q9 @ encoding: [0xf2,0x03,0x40,0xf3] 49 @ CHECK: vcge.u16 q8, q8, q9 @ encoding: [0xf2,0x03,0x50,0xf3] 50 @ CHECK: vcge.u32 q8, q8, q9 @ encoding: [0xf2,0x03,0x60,0xf3] 51 @ CHECK: vcge.f32 q8, q8, q9 @ encoding: [0xe2,0x0e,0x40,0xf3] 52 @ CHECK: vacge.f32 d16, d16, d17 @ encoding: [0xb1,0x0e,0x40,0xf3] 53 @ CHECK: vacge.f32 q8, q8, q9 @ encoding: [0xf2,0x0e,0x40,0xf3] 54 55 vcgt.s8 d16, d16, d17 56 vcgt.s16 d16, d16, d17 57 vcgt.s32 d16, d16, d17 58 vcgt.u8 d16, d16, d17 59 vcgt.u16 d16, d16, d17 60 vcgt.u32 d16, d16, d17 61 vcgt.f32 d16, d16, d17 62 vcgt.s8 q8, q8, q9 63 vcgt.s16 q8, q8, q9 64 vcgt.s32 q8, q8, q9 65 vcgt.u8 q8, q8, q9 66 vcgt.u16 q8, q8, q9 67 vcgt.u32 q8, q8, q9 68 vcgt.f32 q8, q8, q9 69 vacgt.f32 d16, d16, d17 70 vacgt.f32 q8, q8, q9 71 72 @ CHECK: vcgt.s8 d16, d16, d17 @ encoding: [0xa1,0x03,0x40,0xf2] 73 @ CHECK: vcgt.s16 d16, d16, d17 @ encoding: [0xa1,0x03,0x50,0xf2] 74 @ CHECK: vcgt.s32 d16, d16, d17 @ encoding: [0xa1,0x03,0x60,0xf2] 75 @ CHECK: vcgt.u8 d16, d16, d17 @ encoding: [0xa1,0x03,0x40,0xf3] 76 @ CHECK: vcgt.u16 d16, d16, d17 @ encoding: [0xa1,0x03,0x50,0xf3] 77 @ CHECK: vcgt.u32 d16, d16, d17 @ encoding: [0xa1,0x03,0x60,0xf3] 78 @ CHECK: vcgt.f32 d16, d16, d17 @ encoding: [0xa1,0x0e,0x60,0xf3] 79 @ CHECK: vcgt.s8 q8, q8, q9 @ encoding: [0xe2,0x03,0x40,0xf2] 80 @ CHECK: vcgt.s16 q8, q8, q9 @ encoding: [0xe2,0x03,0x50,0xf2] 81 @ CHECK: vcgt.s32 q8, q8, q9 @ encoding: [0xe2,0x03,0x60,0xf2] 82 @ CHECK: vcgt.u8 q8, q8, q9 @ encoding: [0xe2,0x03,0x40,0xf3] 83 @ CHECK: vcgt.u16 q8, q8, q9 @ encoding: [0xe2,0x03,0x50,0xf3] 84 @ CHECK: vcgt.u32 q8, q8, q9 @ encoding: [0xe2,0x03,0x60,0xf3] 85 @ CHECK: vcgt.f32 q8, q8, q9 @ encoding: [0xe2,0x0e,0x60,0xf3] 86 @ CHECK: vacgt.f32 d16, d16, d17 @ encoding: [0xb1,0x0e,0x60,0xf3] 87 @ CHECK: vacgt.f32 q8, q8, q9 @ encoding: [0xf2,0x0e,0x60,0xf3] 88 89 vtst.8 d16, d16, d17 90 vtst.16 d16, d16, d17 91 vtst.32 d16, d16, d17 92 vtst.8 q8, q8, q9 93 vtst.16 q8, q8, q9 94 vtst.32 q8, q8, q9 95 96 @ CHECK: vtst.8 d16, d16, d17 @ encoding: [0xb1,0x08,0x40,0xf2] 97 @ CHECK: vtst.16 d16, d16, d17 @ encoding: [0xb1,0x08,0x50,0xf2] 98 @ CHECK: vtst.32 d16, d16, d17 @ encoding: [0xb1,0x08,0x60,0xf2] 99 @ CHECK: vtst.8 q8, q8, q9 @ encoding: [0xf2,0x08,0x40,0xf2] 100 @ CHECK: vtst.16 q8, q8, q9 @ encoding: [0xf2,0x08,0x50,0xf2] 101 @ CHECK: vtst.32 q8, q8, q9 @ encoding: [0xf2,0x08,0x60,0xf2] 102 103 vceq.i8 d16, d16, #0 104 vcge.s8 d16, d16, #0 105 vcle.s8 d16, d16, #0 106 vcgt.s8 d16, d16, #0 107 vclt.s8 d16, d16, #0 108 109 @ CHECK: vceq.i8 d16, d16, #0 @ encoding: [0x20,0x01,0xf1,0xf3] 110 @ CHECK: vcge.s8 d16, d16, #0 @ encoding: [0xa0,0x00,0xf1,0xf3] 111 @ CHECK: vcle.s8 d16, d16, #0 @ encoding: [0xa0,0x01,0xf1,0xf3] 112 @ CHECK: vcgt.s8 d16, d16, #0 @ encoding: [0x20,0x00,0xf1,0xf3] 113 @ CHECK: vclt.s8 d16, d16, #0 @ encoding: [0x20,0x02,0xf1,0xf3] 114 115 116 vclt.s8 q12, q13, q3 117 vclt.s16 q12, q13, q3 118 vclt.s32 q12, q13, q3 119 vclt.u8 q12, q13, q3 120 vclt.u16 q12, q13, q3 121 vclt.u32 q12, q13, q3 122 vclt.f32 q12, q13, q3 123 124 vclt.s8 d12, d13, d3 125 vclt.s16 d12, d13, d3 126 vclt.s32 d12, d13, d3 127 vclt.u8 d12, d13, d3 128 vclt.u16 d12, d13, d3 129 vclt.u32 d12, d13, d3 130 vclt.f32 d12, d13, d3 131 132 @ CHECK: vcgt.s8 q12, q3, q13 @ encoding: [0x6a,0x83,0x46,0xf2] 133 @ CHECK: vcgt.s16 q12, q3, q13 @ encoding: [0x6a,0x83,0x56,0xf2] 134 @ CHECK: vcgt.s32 q12, q3, q13 @ encoding: [0x6a,0x83,0x66,0xf2] 135 @ CHECK: vcgt.u8 q12, q3, q13 @ encoding: [0x6a,0x83,0x46,0xf3] 136 @ CHECK: vcgt.u16 q12, q3, q13 @ encoding: [0x6a,0x83,0x56,0xf3] 137 @ CHECK: vcgt.u32 q12, q3, q13 @ encoding: [0x6a,0x83,0x66,0xf3] 138 @ CHECK: vcgt.f32 q12, q3, q13 @ encoding: [0x6a,0x8e,0x66,0xf3] 139 140 @ CHECK: vcgt.s8 d12, d3, d13 @ encoding: [0x0d,0xc3,0x03,0xf2] 141 @ CHECK: vcgt.s16 d12, d3, d13 @ encoding: [0x0d,0xc3,0x13,0xf2] 142 @ CHECK: vcgt.s32 d12, d3, d13 @ encoding: [0x0d,0xc3,0x23,0xf2] 143 @ CHECK: vcgt.u8 d12, d3, d13 @ encoding: [0x0d,0xc3,0x03,0xf3] 144 @ CHECK: vcgt.u16 d12, d3, d13 @ encoding: [0x0d,0xc3,0x13,0xf3] 145 @ CHECK: vcgt.u32 d12, d3, d13 @ encoding: [0x0d,0xc3,0x23,0xf3] 146 @ CHECK: vcgt.f32 d12, d3, d13 @ encoding: [0x0d,0xce,0x23,0xf3] 147 148 vcle.s8 d16, d16, d17 149 vcle.s16 d16, d16, d17 150 vcle.s32 d16, d16, d17 151 vcle.u8 d16, d16, d17 152 vcle.u16 d16, d16, d17 153 vcle.u32 d16, d16, d17 154 vcle.f32 d16, d16, d17 155 vcle.s8 q8, q8, q9 156 vcle.s16 q8, q8, q9 157 vcle.s32 q8, q8, q9 158 vcle.u8 q8, q8, q9 159 vcle.u16 q8, q8, q9 160 vcle.u32 q8, q8, q9 161 vcle.f32 q8, q8, q9 162 163 @ CHECK: vcge.s8 d16, d17, d16 @ encoding: [0xb0,0x03,0x41,0xf2] 164 @ CHECK: vcge.s16 d16, d17, d16 @ encoding: [0xb0,0x03,0x51,0xf2] 165 @ CHECK: vcge.s32 d16, d17, d16 @ encoding: [0xb0,0x03,0x61,0xf2] 166 @ CHECK: vcge.u8 d16, d17, d16 @ encoding: [0xb0,0x03,0x41,0xf3] 167 @ CHECK: vcge.u16 d16, d17, d16 @ encoding: [0xb0,0x03,0x51,0xf3] 168 @ CHECK: vcge.u32 d16, d17, d16 @ encoding: [0xb0,0x03,0x61,0xf3] 169 @ CHECK: vcge.f32 d16, d17, d16 @ encoding: [0xa0,0x0e,0x41,0xf3] 170 @ CHECK: vcge.s8 q8, q9, q8 @ encoding: [0xf0,0x03,0x42,0xf2] 171 @ CHECK: vcge.s16 q8, q9, q8 @ encoding: [0xf0,0x03,0x52,0xf2] 172 @ CHECK: vcge.s32 q8, q9, q8 @ encoding: [0xf0,0x03,0x62,0xf2] 173 @ CHECK: vcge.u8 q8, q9, q8 @ encoding: [0xf0,0x03,0x42,0xf3] 174 @ CHECK: vcge.u16 q8, q9, q8 @ encoding: [0xf0,0x03,0x52,0xf3] 175 @ CHECK: vcge.u32 q8, q9, q8 @ encoding: [0xf0,0x03,0x62,0xf3] 176 @ CHECK: vcge.f32 q8, q9, q8 @ encoding: [0xe0,0x0e,0x42,0xf3] 177 178 179 @ VACLT is an alias for VACGT w/ the source operands reversed. 180 @ VACLE is an alias for VACGE w/ the source operands reversed. 181 vaclt.f32 q9, q11, q12 182 vaclt.f32 d9, d11, d12 183 vaclt.f32 q11, q12 184 vaclt.f32 d11, d12 185 vacle.f32 q9, q11, q12 186 vacle.f32 d9, d11, d12 187 vacle.f32 q11, q12 188 vacle.f32 d11, d12 189 190 @ CHECK: vacgt.f32 q9, q12, q11 @ encoding: [0xf6,0x2e,0x68,0xf3] 191 @ CHECK: vacgt.f32 d9, d12, d11 @ encoding: [0x1b,0x9e,0x2c,0xf3] 192 @ CHECK: vacgt.f32 q11, q12, q11 @ encoding: [0xf6,0x6e,0x68,0xf3] 193 @ CHECK: vacgt.f32 d11, d12, d11 @ encoding: [0x1b,0xbe,0x2c,0xf3] 194 @ CHECK: vacge.f32 q9, q12, q11 @ encoding: [0xf6,0x2e,0x48,0xf3] 195 @ CHECK: vacge.f32 d9, d12, d11 @ encoding: [0x1b,0x9e,0x0c,0xf3] 196 @ CHECK: vacge.f32 q11, q12, q11 @ encoding: [0xf6,0x6e,0x48,0xf3] 197 @ CHECK: vacge.f32 d11, d12, d11 @ encoding: [0x1b,0xbe,0x0c,0xf3] 198