1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -march=hexagon < %s | FileCheck %s
define half @freeze_half_undef() nounwind {
; CHECK-LABEL: freeze_half_undef:
; CHECK: // %bb.0:
; CHECK-NEXT: {
; CHECK-NEXT: call __truncsfhf2
; CHECK-NEXT: r0 = #0
; CHECK-NEXT: allocframe(#0)
; CHECK-NEXT: }
; CHECK-NEXT: {
; CHECK-NEXT: call __extendhfsf2
; CHECK-NEXT: }
; CHECK-NEXT: {
; CHECK-NEXT: call __truncsfhf2
; CHECK-NEXT: r0 = sfadd(r0,r0)
; CHECK-NEXT: }
; CHECK-NEXT: {
; CHECK-NEXT: r31:30 = dealloc_return(r30):raw
; CHECK-NEXT: }
%y1 = freeze half undef
%t1 = fadd half %y1, %y1
ret half %t1
}
define half @freeze_half_poison(half %maybe.poison) {
; CHECK-LABEL: freeze_half_poison:
; CHECK: // %bb.0:
; CHECK: {
; CHECK-NEXT: call __extendhfsf2
; CHECK-NEXT: allocframe(r29,#0):raw
; CHECK-NEXT: }
; CHECK-NEXT: {
; CHECK-NEXT: call __truncsfhf2
; CHECK-NEXT: r0 = sfadd(r0,r0)
; CHECK-NEXT: }
; CHECK-NEXT: {
; CHECK-NEXT: r31:30 = dealloc_return(r30):raw
; CHECK-NEXT: }
%y1 = freeze half %maybe.poison
%t1 = fadd half %y1, %y1
ret half %t1
}
|