Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/X86/btc_bts_btr.ll
Show First 20 Lines • Show All 853 Lines • ▼ Show 20 Lines | |||||
; X86-NEXT: testb $32, %cl | ; X86-NEXT: testb $32, %cl | ||||
; X86-NEXT: je .LBB33_2 | ; X86-NEXT: je .LBB33_2 | ||||
; X86-NEXT: # %bb.1: | ; X86-NEXT: # %bb.1: | ||||
; X86-NEXT: movl %edx, %esi | ; X86-NEXT: movl %edx, %esi | ||||
; X86-NEXT: xorl %edx, %edx | ; X86-NEXT: xorl %edx, %edx | ||||
; X86-NEXT: .LBB33_2: | ; X86-NEXT: .LBB33_2: | ||||
; X86-NEXT: notl %esi | ; X86-NEXT: notl %esi | ||||
; X86-NEXT: notl %edx | ; X86-NEXT: notl %edx | ||||
; X86-NEXT: andl %esi, 4(%eax) | |||||
; X86-NEXT: andl %edx, (%eax) | ; X86-NEXT: andl %edx, (%eax) | ||||
; X86-NEXT: andl %esi, 4(%eax) | |||||
; X86-NEXT: popl %esi | ; X86-NEXT: popl %esi | ||||
; X86-NEXT: .cfi_def_cfa_offset 4 | ; X86-NEXT: .cfi_def_cfa_offset 4 | ||||
; X86-NEXT: retl | ; X86-NEXT: retl | ||||
%1 = load i64, i64* %x | %1 = load i64, i64* %x | ||||
%2 = shl i64 1, %n | %2 = shl i64 1, %n | ||||
%3 = xor i64 %2, -1 | %3 = xor i64 %2, -1 | ||||
%4 = and i64 %1, %3 | %4 = and i64 %1, %3 | ||||
store i64 %4, i64* %x | store i64 %4, i64* %x | ||||
Show All 22 Lines | |||||
; X86-NEXT: shldl %cl, %edx, %esi | ; X86-NEXT: shldl %cl, %edx, %esi | ||||
; X86-NEXT: shll %cl, %edx | ; X86-NEXT: shll %cl, %edx | ||||
; X86-NEXT: testb $32, %cl | ; X86-NEXT: testb $32, %cl | ||||
; X86-NEXT: je .LBB34_2 | ; X86-NEXT: je .LBB34_2 | ||||
; X86-NEXT: # %bb.1: | ; X86-NEXT: # %bb.1: | ||||
; X86-NEXT: movl %edx, %esi | ; X86-NEXT: movl %edx, %esi | ||||
; X86-NEXT: xorl %edx, %edx | ; X86-NEXT: xorl %edx, %edx | ||||
; X86-NEXT: .LBB34_2: | ; X86-NEXT: .LBB34_2: | ||||
; X86-NEXT: orl %esi, 4(%eax) | |||||
; X86-NEXT: orl %edx, (%eax) | ; X86-NEXT: orl %edx, (%eax) | ||||
; X86-NEXT: orl %esi, 4(%eax) | |||||
; X86-NEXT: popl %esi | ; X86-NEXT: popl %esi | ||||
; X86-NEXT: .cfi_def_cfa_offset 4 | ; X86-NEXT: .cfi_def_cfa_offset 4 | ||||
; X86-NEXT: retl | ; X86-NEXT: retl | ||||
%1 = load i64, i64* %x | %1 = load i64, i64* %x | ||||
%2 = shl i64 1, %n | %2 = shl i64 1, %n | ||||
%3 = or i64 %1, %2 | %3 = or i64 %1, %2 | ||||
store i64 %3, i64* %x | store i64 %3, i64* %x | ||||
ret void | ret void | ||||
Show All 21 Lines | |||||
; X86-NEXT: shldl %cl, %edx, %esi | ; X86-NEXT: shldl %cl, %edx, %esi | ||||
; X86-NEXT: shll %cl, %edx | ; X86-NEXT: shll %cl, %edx | ||||
; X86-NEXT: testb $32, %cl | ; X86-NEXT: testb $32, %cl | ||||
; X86-NEXT: je .LBB35_2 | ; X86-NEXT: je .LBB35_2 | ||||
; X86-NEXT: # %bb.1: | ; X86-NEXT: # %bb.1: | ||||
; X86-NEXT: movl %edx, %esi | ; X86-NEXT: movl %edx, %esi | ||||
; X86-NEXT: xorl %edx, %edx | ; X86-NEXT: xorl %edx, %edx | ||||
; X86-NEXT: .LBB35_2: | ; X86-NEXT: .LBB35_2: | ||||
; X86-NEXT: xorl %esi, 4(%eax) | |||||
; X86-NEXT: xorl %edx, (%eax) | ; X86-NEXT: xorl %edx, (%eax) | ||||
; X86-NEXT: xorl %esi, 4(%eax) | |||||
; X86-NEXT: popl %esi | ; X86-NEXT: popl %esi | ||||
; X86-NEXT: .cfi_def_cfa_offset 4 | ; X86-NEXT: .cfi_def_cfa_offset 4 | ||||
; X86-NEXT: retl | ; X86-NEXT: retl | ||||
%1 = load i64, i64* %x | %1 = load i64, i64* %x | ||||
%2 = shl i64 1, %n | %2 = shl i64 1, %n | ||||
%3 = xor i64 %1, %2 | %3 = xor i64 %1, %2 | ||||
store i64 %3, i64* %x | store i64 %3, i64* %x | ||||
ret void | ret void | ||||
▲ Show 20 Lines • Show All 167 Lines • Show Last 20 Lines |