Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | |||||
; CHECK-NEXT: str w3, [x8] | ; CHECK-NEXT: str w3, [x8] | ||||
; CHECK-NEXT: str w4, [x8] | ; CHECK-NEXT: str w4, [x8] | ||||
; CHECK-NEXT: str w5, [x8] | ; CHECK-NEXT: str w5, [x8] | ||||
; CHECK-NEXT: str w6, [x8] | ; CHECK-NEXT: str w6, [x8] | ||||
; CHECK-NEXT: str w7, [x8] | ; CHECK-NEXT: str w7, [x8] | ||||
; CHECK-NEXT: str w19, [x8] | ; CHECK-NEXT: str w19, [x8] | ||||
; CHECK-NEXT: str w9, [x8] | ; CHECK-NEXT: str w9, [x8] | ||||
; CHECK-NEXT: ldr x19, [sp], #16 // 8-byte Folded Reload | ; CHECK-NEXT: ldr x19, [sp], #16 // 8-byte Folded Reload | ||||
; CHECK-NEXT: .cfi_adjust_cfa_offset -16 | |||||
; CHECK-NEXT: ret | ; CHECK-NEXT: ret | ||||
%val1 = load i32, i32* @var1_32 | %val1 = load i32, i32* @var1_32 | ||||
%val2 = load i32, i32* @var2_32 | %val2 = load i32, i32* @var2_32 | ||||
; First check basic and/bic/or/orn/eor/eon patterns with no shift | ; First check basic and/bic/or/orn/eor/eon patterns with no shift | ||||
%neg_val2 = xor i32 -1, %val2 | %neg_val2 = xor i32 -1, %val2 | ||||
%and_noshift = and i32 %val1, %val2 | %and_noshift = and i32 %val1, %val2 | ||||
▲ Show 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | |||||
; CHECK-NEXT: str x3, [x8] | ; CHECK-NEXT: str x3, [x8] | ||||
; CHECK-NEXT: str x4, [x8] | ; CHECK-NEXT: str x4, [x8] | ||||
; CHECK-NEXT: str x5, [x8] | ; CHECK-NEXT: str x5, [x8] | ||||
; CHECK-NEXT: str x6, [x8] | ; CHECK-NEXT: str x6, [x8] | ||||
; CHECK-NEXT: str x7, [x8] | ; CHECK-NEXT: str x7, [x8] | ||||
; CHECK-NEXT: str x19, [x8] | ; CHECK-NEXT: str x19, [x8] | ||||
; CHECK-NEXT: str x9, [x8] | ; CHECK-NEXT: str x9, [x8] | ||||
; CHECK-NEXT: ldr x19, [sp], #16 // 8-byte Folded Reload | ; CHECK-NEXT: ldr x19, [sp], #16 // 8-byte Folded Reload | ||||
; CHECK-NEXT: .cfi_adjust_cfa_offset -16 | |||||
; CHECK-NEXT: ret | ; CHECK-NEXT: ret | ||||
%val1 = load i64, i64* @var1_64 | %val1 = load i64, i64* @var1_64 | ||||
%val2 = load i64, i64* @var2_64 | %val2 = load i64, i64* @var2_64 | ||||
; First check basic and/bic/or/orn/eor/eon patterns with no shift | ; First check basic and/bic/or/orn/eor/eon patterns with no shift | ||||
%neg_val2 = xor i64 -1, %val2 | %neg_val2 = xor i64 -1, %val2 | ||||
%and_noshift = and i64 %val1, %val2 | %and_noshift = and i64 %val1, %val2 | ||||
▲ Show 20 Lines • Show All 115 Lines • Show Last 20 Lines |