Lines Matching refs:BEXTR
2 … -mtriple=i686-unknown-unknown -mattr=+cmov,+bmi | FileCheck %s --check-prefixes=X86,X86-SLOW-BEXTR
3 …ple=i686-unknown-unknown -mattr=+cmov,+bmi,+bmi2 | FileCheck %s --check-prefixes=X86,X86-SLOW-BEXTR
4 …< %s -mtriple=x86_64-unknown-unknown -mattr=+bmi | FileCheck %s --check-prefixes=X64,X64-SLOW-BEXTR
5 …mtriple=x86_64-unknown-unknown -mattr=+bmi,+bmi2 | FileCheck %s --check-prefixes=X64,X64-SLOW-BEXTR
6 …86-unknown-unknown -mattr=+cmov,+bmi,+fast-bextr | FileCheck %s --check-prefixes=X86,X86-FAST-BEXTR
7 …e=x86_64-unknown-unknown -mattr=+bmi,+fast-bextr | FileCheck %s --check-prefixes=X64,X64-FAST-BEXTR
367 ; X86-SLOW-BEXTR-LABEL: bextr32b:
368 ; X86-SLOW-BEXTR: # %bb.0:
369 ; X86-SLOW-BEXTR-NEXT: movl {{[0-9]+}}(%esp), %eax
370 ; X86-SLOW-BEXTR-NEXT: shrl $4, %eax
371 ; X86-SLOW-BEXTR-NEXT: andl $4095, %eax # imm = 0xFFF
372 ; X86-SLOW-BEXTR-NEXT: retl
374 ; X64-SLOW-BEXTR-LABEL: bextr32b:
375 ; X64-SLOW-BEXTR: # %bb.0:
376 ; X64-SLOW-BEXTR-NEXT: movl %edi, %eax
377 ; X64-SLOW-BEXTR-NEXT: shrl $4, %eax
378 ; X64-SLOW-BEXTR-NEXT: andl $4095, %eax # imm = 0xFFF
379 ; X64-SLOW-BEXTR-NEXT: retq
381 ; X86-FAST-BEXTR-LABEL: bextr32b:
382 ; X86-FAST-BEXTR: # %bb.0:
383 ; X86-FAST-BEXTR-NEXT: movl $3076, %eax # imm = 0xC04
384 ; X86-FAST-BEXTR-NEXT: bextrl %eax, {{[0-9]+}}(%esp), %eax
385 ; X86-FAST-BEXTR-NEXT: retl
387 ; X64-FAST-BEXTR-LABEL: bextr32b:
388 ; X64-FAST-BEXTR: # %bb.0:
389 ; X64-FAST-BEXTR-NEXT: movl $3076, %eax # imm = 0xC04
390 ; X64-FAST-BEXTR-NEXT: bextrl %eax, %edi, %eax
391 ; X64-FAST-BEXTR-NEXT: retq
415 ; X86-SLOW-BEXTR-LABEL: bextr32b_load:
416 ; X86-SLOW-BEXTR: # %bb.0:
417 ; X86-SLOW-BEXTR-NEXT: movl {{[0-9]+}}(%esp), %eax
418 ; X86-SLOW-BEXTR-NEXT: movl (%eax), %eax
419 ; X86-SLOW-BEXTR-NEXT: shrl $4, %eax
420 ; X86-SLOW-BEXTR-NEXT: andl $4095, %eax # imm = 0xFFF
421 ; X86-SLOW-BEXTR-NEXT: retl
423 ; X64-SLOW-BEXTR-LABEL: bextr32b_load:
424 ; X64-SLOW-BEXTR: # %bb.0:
425 ; X64-SLOW-BEXTR-NEXT: movl (%rdi), %eax
426 ; X64-SLOW-BEXTR-NEXT: shrl $4, %eax
427 ; X64-SLOW-BEXTR-NEXT: andl $4095, %eax # imm = 0xFFF
428 ; X64-SLOW-BEXTR-NEXT: retq
430 ; X86-FAST-BEXTR-LABEL: bextr32b_load:
431 ; X86-FAST-BEXTR: # %bb.0:
432 ; X86-FAST-BEXTR-NEXT: movl {{[0-9]+}}(%esp), %eax
433 ; X86-FAST-BEXTR-NEXT: movl $3076, %ecx # imm = 0xC04
434 ; X86-FAST-BEXTR-NEXT: bextrl %ecx, (%eax), %eax
435 ; X86-FAST-BEXTR-NEXT: retl
437 ; X64-FAST-BEXTR-LABEL: bextr32b_load:
438 ; X64-FAST-BEXTR: # %bb.0:
439 ; X64-FAST-BEXTR-NEXT: movl $3076, %eax # imm = 0xC04
440 ; X64-FAST-BEXTR-NEXT: bextrl %eax, (%rdi), %eax
441 ; X64-FAST-BEXTR-NEXT: retq