1define <16 x i8> @_Z8icmpi1EqDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 2entry: 3 %a.trunc = trunc <16 x i8> %a to <16 x i1> 4 %b.trunc = trunc <16 x i8> %b to <16 x i1> 5 %cmp = icmp eq <16 x i1> %a.trunc, %b.trunc 6 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 7 ret <16 x i8> %cmp.sext 8} 9 10define <16 x i8> @_Z8icmpi1NeDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 11entry: 12 %a.trunc = trunc <16 x i8> %a to <16 x i1> 13 %b.trunc = trunc <16 x i8> %b to <16 x i1> 14 %cmp = icmp ne <16 x i1> %a.trunc, %b.trunc 15 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 16 ret <16 x i8> %cmp.sext 17} 18 19define <16 x i8> @_Z9icmpi1UgtDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 20entry: 21 %a.trunc = trunc <16 x i8> %a to <16 x i1> 22 %b.trunc = trunc <16 x i8> %b to <16 x i1> 23 %cmp = icmp ugt <16 x i1> %a.trunc, %b.trunc 24 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 25 ret <16 x i8> %cmp.sext 26} 27 28define <16 x i8> @_Z9icmpi1UgeDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 29entry: 30 %a.trunc = trunc <16 x i8> %a to <16 x i1> 31 %b.trunc = trunc <16 x i8> %b to <16 x i1> 32 %cmp = icmp uge <16 x i1> %a.trunc, %b.trunc 33 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 34 ret <16 x i8> %cmp.sext 35} 36 37define <16 x i8> @_Z9icmpi1UltDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 38entry: 39 %a.trunc = trunc <16 x i8> %a to <16 x i1> 40 %b.trunc = trunc <16 x i8> %b to <16 x i1> 41 %cmp = icmp ult <16 x i1> %a.trunc, %b.trunc 42 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 43 ret <16 x i8> %cmp.sext 44} 45 46define <16 x i8> @_Z9icmpi1UleDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 47entry: 48 %a.trunc = trunc <16 x i8> %a to <16 x i1> 49 %b.trunc = trunc <16 x i8> %b to <16 x i1> 50 %cmp = icmp ule <16 x i1> %a.trunc, %b.trunc 51 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 52 ret <16 x i8> %cmp.sext 53} 54 55define <16 x i8> @_Z9icmpi1SgtDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 56entry: 57 %a.trunc = trunc <16 x i8> %a to <16 x i1> 58 %b.trunc = trunc <16 x i8> %b to <16 x i1> 59 %cmp = icmp sgt <16 x i1> %a.trunc, %b.trunc 60 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 61 ret <16 x i8> %cmp.sext 62} 63 64define <16 x i8> @_Z9icmpi1SgeDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 65entry: 66 %a.trunc = trunc <16 x i8> %a to <16 x i1> 67 %b.trunc = trunc <16 x i8> %b to <16 x i1> 68 %cmp = icmp sge <16 x i1> %a.trunc, %b.trunc 69 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 70 ret <16 x i8> %cmp.sext 71} 72 73define <16 x i8> @_Z9icmpi1SltDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 74entry: 75 %a.trunc = trunc <16 x i8> %a to <16 x i1> 76 %b.trunc = trunc <16 x i8> %b to <16 x i1> 77 %cmp = icmp slt <16 x i1> %a.trunc, %b.trunc 78 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 79 ret <16 x i8> %cmp.sext 80} 81 82define <16 x i8> @_Z9icmpi1SleDv16_aS_(<16 x i8> %a, <16 x i8> %b) { 83entry: 84 %a.trunc = trunc <16 x i8> %a to <16 x i1> 85 %b.trunc = trunc <16 x i8> %b to <16 x i1> 86 %cmp = icmp sle <16 x i1> %a.trunc, %b.trunc 87 %cmp.sext = sext <16 x i1> %cmp to <16 x i8> 88 ret <16 x i8> %cmp.sext 89} 90 91define <8 x i16> @_Z8icmpi1EqDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 92entry: 93 %a.trunc = trunc <8 x i16> %a to <8 x i1> 94 %b.trunc = trunc <8 x i16> %b to <8 x i1> 95 %cmp = icmp eq <8 x i1> %a.trunc, %b.trunc 96 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 97 ret <8 x i16> %cmp.sext 98} 99 100define <8 x i16> @_Z8icmpi1NeDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 101entry: 102 %a.trunc = trunc <8 x i16> %a to <8 x i1> 103 %b.trunc = trunc <8 x i16> %b to <8 x i1> 104 %cmp = icmp ne <8 x i1> %a.trunc, %b.trunc 105 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 106 ret <8 x i16> %cmp.sext 107} 108 109define <8 x i16> @_Z9icmpi1UgtDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 110entry: 111 %a.trunc = trunc <8 x i16> %a to <8 x i1> 112 %b.trunc = trunc <8 x i16> %b to <8 x i1> 113 %cmp = icmp ugt <8 x i1> %a.trunc, %b.trunc 114 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 115 ret <8 x i16> %cmp.sext 116} 117 118define <8 x i16> @_Z9icmpi1UgeDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 119entry: 120 %a.trunc = trunc <8 x i16> %a to <8 x i1> 121 %b.trunc = trunc <8 x i16> %b to <8 x i1> 122 %cmp = icmp uge <8 x i1> %a.trunc, %b.trunc 123 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 124 ret <8 x i16> %cmp.sext 125} 126 127define <8 x i16> @_Z9icmpi1UltDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 128entry: 129 %a.trunc = trunc <8 x i16> %a to <8 x i1> 130 %b.trunc = trunc <8 x i16> %b to <8 x i1> 131 %cmp = icmp ult <8 x i1> %a.trunc, %b.trunc 132 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 133 ret <8 x i16> %cmp.sext 134} 135 136define <8 x i16> @_Z9icmpi1UleDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 137entry: 138 %a.trunc = trunc <8 x i16> %a to <8 x i1> 139 %b.trunc = trunc <8 x i16> %b to <8 x i1> 140 %cmp = icmp ule <8 x i1> %a.trunc, %b.trunc 141 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 142 ret <8 x i16> %cmp.sext 143} 144 145define <8 x i16> @_Z9icmpi1SgtDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 146entry: 147 %a.trunc = trunc <8 x i16> %a to <8 x i1> 148 %b.trunc = trunc <8 x i16> %b to <8 x i1> 149 %cmp = icmp sgt <8 x i1> %a.trunc, %b.trunc 150 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 151 ret <8 x i16> %cmp.sext 152} 153 154define <8 x i16> @_Z9icmpi1SgeDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 155entry: 156 %a.trunc = trunc <8 x i16> %a to <8 x i1> 157 %b.trunc = trunc <8 x i16> %b to <8 x i1> 158 %cmp = icmp sge <8 x i1> %a.trunc, %b.trunc 159 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 160 ret <8 x i16> %cmp.sext 161} 162 163define <8 x i16> @_Z9icmpi1SltDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 164entry: 165 %a.trunc = trunc <8 x i16> %a to <8 x i1> 166 %b.trunc = trunc <8 x i16> %b to <8 x i1> 167 %cmp = icmp slt <8 x i1> %a.trunc, %b.trunc 168 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 169 ret <8 x i16> %cmp.sext 170} 171 172define <8 x i16> @_Z9icmpi1SleDv8_sS_(<8 x i16> %a, <8 x i16> %b) { 173entry: 174 %a.trunc = trunc <8 x i16> %a to <8 x i1> 175 %b.trunc = trunc <8 x i16> %b to <8 x i1> 176 %cmp = icmp sle <8 x i1> %a.trunc, %b.trunc 177 %cmp.sext = sext <8 x i1> %cmp to <8 x i16> 178 ret <8 x i16> %cmp.sext 179} 180 181define <4 x i32> @_Z8icmpi1EqDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 182entry: 183 %a.trunc = trunc <4 x i32> %a to <4 x i1> 184 %b.trunc = trunc <4 x i32> %b to <4 x i1> 185 %cmp = icmp eq <4 x i1> %a.trunc, %b.trunc 186 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 187 ret <4 x i32> %cmp.sext 188} 189 190define <4 x i32> @_Z8icmpi1NeDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 191entry: 192 %a.trunc = trunc <4 x i32> %a to <4 x i1> 193 %b.trunc = trunc <4 x i32> %b to <4 x i1> 194 %cmp = icmp ne <4 x i1> %a.trunc, %b.trunc 195 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 196 ret <4 x i32> %cmp.sext 197} 198 199define <4 x i32> @_Z9icmpi1UgtDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 200entry: 201 %a.trunc = trunc <4 x i32> %a to <4 x i1> 202 %b.trunc = trunc <4 x i32> %b to <4 x i1> 203 %cmp = icmp ugt <4 x i1> %a.trunc, %b.trunc 204 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 205 ret <4 x i32> %cmp.sext 206} 207 208define <4 x i32> @_Z9icmpi1UgeDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 209entry: 210 %a.trunc = trunc <4 x i32> %a to <4 x i1> 211 %b.trunc = trunc <4 x i32> %b to <4 x i1> 212 %cmp = icmp uge <4 x i1> %a.trunc, %b.trunc 213 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 214 ret <4 x i32> %cmp.sext 215} 216 217define <4 x i32> @_Z9icmpi1UltDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 218entry: 219 %a.trunc = trunc <4 x i32> %a to <4 x i1> 220 %b.trunc = trunc <4 x i32> %b to <4 x i1> 221 %cmp = icmp ult <4 x i1> %a.trunc, %b.trunc 222 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 223 ret <4 x i32> %cmp.sext 224} 225 226define <4 x i32> @_Z9icmpi1UleDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 227entry: 228 %a.trunc = trunc <4 x i32> %a to <4 x i1> 229 %b.trunc = trunc <4 x i32> %b to <4 x i1> 230 %cmp = icmp ule <4 x i1> %a.trunc, %b.trunc 231 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 232 ret <4 x i32> %cmp.sext 233} 234 235define <4 x i32> @_Z9icmpi1SgtDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 236entry: 237 %a.trunc = trunc <4 x i32> %a to <4 x i1> 238 %b.trunc = trunc <4 x i32> %b to <4 x i1> 239 %cmp = icmp sgt <4 x i1> %a.trunc, %b.trunc 240 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 241 ret <4 x i32> %cmp.sext 242} 243 244define <4 x i32> @_Z9icmpi1SgeDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 245entry: 246 %a.trunc = trunc <4 x i32> %a to <4 x i1> 247 %b.trunc = trunc <4 x i32> %b to <4 x i1> 248 %cmp = icmp sge <4 x i1> %a.trunc, %b.trunc 249 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 250 ret <4 x i32> %cmp.sext 251} 252 253define <4 x i32> @_Z9icmpi1SltDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 254entry: 255 %a.trunc = trunc <4 x i32> %a to <4 x i1> 256 %b.trunc = trunc <4 x i32> %b to <4 x i1> 257 %cmp = icmp slt <4 x i1> %a.trunc, %b.trunc 258 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 259 ret <4 x i32> %cmp.sext 260} 261 262define <4 x i32> @_Z9icmpi1SleDv4_iS_(<4 x i32> %a, <4 x i32> %b) { 263entry: 264 %a.trunc = trunc <4 x i32> %a to <4 x i1> 265 %b.trunc = trunc <4 x i32> %b to <4 x i1> 266 %cmp = icmp sle <4 x i1> %a.trunc, %b.trunc 267 %cmp.sext = sext <4 x i1> %cmp to <4 x i32> 268 ret <4 x i32> %cmp.sext 269} 270