Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/AArch64/cmp-select-sign.ll
Show First 20 Lines • Show All 179 Lines • ▼ Show 20 Lines | |||||
; CHECK-NEXT: sshr v2.4s, v0.4s, #31 | ; CHECK-NEXT: sshr v2.4s, v0.4s, #31 | ||||
; CHECK-NEXT: cmgt v0.4s, v0.4s, v1.4s | ; CHECK-NEXT: cmgt v0.4s, v0.4s, v1.4s | ||||
; CHECK-NEXT: orr v2.4s, #1 | ; CHECK-NEXT: orr v2.4s, #1 | ||||
; CHECK-NEXT: xtn v0.4h, v0.4s | ; CHECK-NEXT: xtn v0.4h, v0.4s | ||||
; CHECK-NEXT: str q2, [sp] // 16-byte Folded Spill | ; CHECK-NEXT: str q2, [sp] // 16-byte Folded Spill | ||||
; CHECK-NEXT: bl use_4xi1 | ; CHECK-NEXT: bl use_4xi1 | ||||
; CHECK-NEXT: ldr q0, [sp] // 16-byte Folded Reload | ; CHECK-NEXT: ldr q0, [sp] // 16-byte Folded Reload | ||||
; CHECK-NEXT: ldr x30, [sp, #16] // 8-byte Folded Reload | ; CHECK-NEXT: ldr x30, [sp, #16] // 8-byte Folded Reload | ||||
; CHECK-NEXT: .cfi_adjust_cfa_offset 16 | |||||
; CHECK-NEXT: add sp, sp, #32 | ; CHECK-NEXT: add sp, sp, #32 | ||||
; CHECK-NEXT: ret | ; CHECK-NEXT: ret | ||||
%c = icmp sgt <4 x i32> %a, <i32 -1, i32 -1, i32 -1, i32 -1> | %c = icmp sgt <4 x i32> %a, <i32 -1, i32 -1, i32 -1, i32 -1> | ||||
%res = select <4 x i1> %c, <4 x i32> <i32 1, i32 1, i32 1, i32 1>, <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1> | %res = select <4 x i1> %c, <4 x i32> <i32 1, i32 1, i32 1, i32 1>, <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1> | ||||
call void @use_4xi1(<4 x i1> %c) | call void @use_4xi1(<4 x i1> %c) | ||||
ret <4 x i32> %res | ret <4 x i32> %res | ||||
} | } | ||||
▲ Show 20 Lines • Show All 74 Lines • Show Last 20 Lines |