@@ -254,24 +254,10 @@ define i32 @test_bitreverse_i32(i32 %a) nounwind {
254
254
;
255
255
; GFNISSE-LABEL: test_bitreverse_i32:
256
256
; GFNISSE: # %bb.0:
257
- ; GFNISSE-NEXT: # kill: def $edi killed $edi def $rdi
258
- ; GFNISSE-NEXT: bswapl %edi
259
- ; GFNISSE-NEXT: movl %edi, %eax
260
- ; GFNISSE-NEXT: andl $252645135, %eax # imm = 0xF0F0F0F
261
- ; GFNISSE-NEXT: shll $4, %eax
262
- ; GFNISSE-NEXT: shrl $4, %edi
263
- ; GFNISSE-NEXT: andl $252645135, %edi # imm = 0xF0F0F0F
264
- ; GFNISSE-NEXT: orl %eax, %edi
265
- ; GFNISSE-NEXT: movl %edi, %eax
266
- ; GFNISSE-NEXT: andl $858993459, %eax # imm = 0x33333333
267
- ; GFNISSE-NEXT: shrl $2, %edi
268
- ; GFNISSE-NEXT: andl $858993459, %edi # imm = 0x33333333
269
- ; GFNISSE-NEXT: leal (%rdi,%rax,4), %eax
270
- ; GFNISSE-NEXT: movl %eax, %ecx
271
- ; GFNISSE-NEXT: andl $1431655765, %ecx # imm = 0x55555555
272
- ; GFNISSE-NEXT: shrl %eax
273
- ; GFNISSE-NEXT: andl $1431655765, %eax # imm = 0x55555555
274
- ; GFNISSE-NEXT: leal (%rax,%rcx,2), %eax
257
+ ; GFNISSE-NEXT: movd %edi, %xmm0
258
+ ; GFNISSE-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
259
+ ; GFNISSE-NEXT: movd %xmm0, %eax
260
+ ; GFNISSE-NEXT: bswapl %eax
275
261
; GFNISSE-NEXT: retq
276
262
;
277
263
; GFNIAVX-LABEL: test_bitreverse_i32:
@@ -343,26 +329,10 @@ define i64 @test_bitreverse_i64(i64 %a) nounwind {
343
329
;
344
330
; GFNISSE-LABEL: test_bitreverse_i64:
345
331
; GFNISSE: # %bb.0:
346
- ; GFNISSE-NEXT: bswapq %rdi
347
- ; GFNISSE-NEXT: movq %rdi, %rax
348
- ; GFNISSE-NEXT: shrq $4, %rax
349
- ; GFNISSE-NEXT: movabsq $1085102592571150095, %rcx # imm = 0xF0F0F0F0F0F0F0F
350
- ; GFNISSE-NEXT: andq %rcx, %rax
351
- ; GFNISSE-NEXT: andq %rcx, %rdi
352
- ; GFNISSE-NEXT: shlq $4, %rdi
353
- ; GFNISSE-NEXT: orq %rax, %rdi
354
- ; GFNISSE-NEXT: movabsq $3689348814741910323, %rax # imm = 0x3333333333333333
355
- ; GFNISSE-NEXT: movq %rdi, %rcx
356
- ; GFNISSE-NEXT: andq %rax, %rcx
357
- ; GFNISSE-NEXT: shrq $2, %rdi
358
- ; GFNISSE-NEXT: andq %rax, %rdi
359
- ; GFNISSE-NEXT: leaq (%rdi,%rcx,4), %rax
360
- ; GFNISSE-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
361
- ; GFNISSE-NEXT: movq %rax, %rdx
362
- ; GFNISSE-NEXT: andq %rcx, %rdx
363
- ; GFNISSE-NEXT: shrq %rax
364
- ; GFNISSE-NEXT: andq %rcx, %rax
365
- ; GFNISSE-NEXT: leaq (%rax,%rdx,2), %rax
332
+ ; GFNISSE-NEXT: movq %rdi, %xmm0
333
+ ; GFNISSE-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
334
+ ; GFNISSE-NEXT: movq %xmm0, %rax
335
+ ; GFNISSE-NEXT: bswapq %rax
366
336
; GFNISSE-NEXT: retq
367
337
;
368
338
; GFNIAVX-LABEL: test_bitreverse_i64:
0 commit comments