|
466 | 466 | ; CHECK-SPIRV: 4 TypeInt [[Ty_54:[0-9]+]] 54 0
|
467 | 467 | ; CHECK-SPIRV: 4 TypeInt [[Ty_56:[0-9]+]] 56 0
|
468 | 468 | ; CHECK-SPIRV: 4 TypeInt [[Ty_12:[0-9]+]] 12 0
|
| 469 | +; CHECK-SPIRV: 4 TypeInt [[Ty_66:[0-9]+]] 66 0 |
469 | 470 | ; CHECK-SPIRV: 2 TypeBool [[Ty_Bool:[0-9]+]]
|
470 | 471 |
|
471 | 472 | target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
|
@@ -534,6 +535,8 @@ define internal spir_func void @"_ZZ4mainENK3$_0clEv"(%"class._ZTSZ4mainE3$_0.an
|
534 | 535 | call spir_func void @_Z12ap_float_powILi8ELi8ELi9ELi9ELi10ELi10EEvv()
|
535 | 536 | call spir_func void @_Z13ap_float_powrILi18ELi35ELi19ELi35ELi20ELi35EEvv()
|
536 | 537 | call spir_func void @_Z13ap_float_pownILi4ELi7ELi10ELi5ELi9EEvv()
|
| 538 | + call spir_func void @_Z15ap_float_sincosILi8ELi18ELi10ELi20EEvv_() |
| 539 | + call spir_func void @_Z14ap_float_atan2ILi7ELi16ELi7ELi17ELi8ELi18EEvv_() |
537 | 540 | ret void
|
538 | 541 | }
|
539 | 542 |
|
@@ -1562,6 +1565,60 @@ define linkonce_odr dso_local spir_func void @_Z13ap_float_pownILi4ELi7ELi10ELi5
|
1562 | 1565 | ret void
|
1563 | 1566 | }
|
1564 | 1567 |
|
| 1568 | +; Function Attrs: norecurse nounwind |
| 1569 | +define linkonce_odr dso_local spir_func void @_Z15ap_float_sincosILi8ELi18ELi10ELi20EEvv_() #3 { |
| 1570 | + %1 = alloca i34, align 8 |
| 1571 | + %2 = addrspacecast i34* %1 to i34 addrspace(4)* |
| 1572 | + %3 = alloca i66, align 8 |
| 1573 | + %4 = addrspacecast i66* %3 to i66 addrspace(4)* |
| 1574 | + %5 = bitcast i34* %1 to i8* |
| 1575 | + call void @llvm.lifetime.start.p0i8(i64 8, i8* %5) |
| 1576 | + %6 = bitcast i66* %3 to i8* |
| 1577 | + call void @llvm.lifetime.start.p0i8(i64 16, i8* %6) |
| 1578 | + %7 = load i34, i34 addrspace(4)* %2, align 8 |
| 1579 | + call spir_func void @_Z33__spirv_ArbitraryFloatSinCosINTELILi34ELi66EEU7_ExtIntIXmlLi2ET0_EEiU7_ExtIntIXT_EEiiiiii(i66 addrspace(4)* sret(i66) align 8 %4, i34 %7, i32 18, i32 20, i32 0, i32 2, i32 1) #5 |
| 1580 | +; CHECK-SPIRV: 6 Load [[Ty_34]] [[SinCos_AId:[0-9]+]] |
| 1581 | +; CHECK-SPIRV-NEXT: 9 ArbitraryFloatSinCosINTEL [[Ty_66]] [[#]] [[SinCos_AId]] 18 20 0 2 1 |
| 1582 | +; CHECK-LLVM: call i66 @intel_arbitrary_float_sincos.i66.i34(i34 %[[#]], i32 18, i32 20, i32 0, i32 2, i32 1) |
| 1583 | + %8 = load i66, i66 addrspace(4)* %4, align 8 |
| 1584 | + store i66 %8, i66 addrspace(4)* %4, align 8 |
| 1585 | + %9 = bitcast i34* %1 to i8* |
| 1586 | + call void @llvm.lifetime.end.p0i8(i64 8, i8* %9) |
| 1587 | + %10 = bitcast i66* %3 to i8* |
| 1588 | + call void @llvm.lifetime.end.p0i8(i64 16, i8* %10) |
| 1589 | + ret void |
| 1590 | +} |
| 1591 | + |
| 1592 | +; Function Attrs: norecurse nounwind |
| 1593 | +define linkonce_odr dso_local spir_func void @_Z14ap_float_atan2ILi7ELi16ELi7ELi17ELi8ELi18EEvv_() #3 { |
| 1594 | + %1 = alloca i24, align 4 |
| 1595 | + %2 = alloca i25, align 4 |
| 1596 | + %3 = alloca i66, align 8 |
| 1597 | + %4 = addrspacecast i66* %3 to i66 addrspace(4)* |
| 1598 | + %5 = bitcast i24* %1 to i8* |
| 1599 | + call void @llvm.lifetime.start.p0i8(i64 4, i8* %5) #5 |
| 1600 | + %6 = bitcast i25* %2 to i8* |
| 1601 | + call void @llvm.lifetime.start.p0i8(i64 4, i8* %6) #5 |
| 1602 | + %7 = bitcast i66* %3 to i8* |
| 1603 | + call void @llvm.lifetime.start.p0i8(i64 16, i8* %7) #5 |
| 1604 | + %8 = load i24, i24* %1, align 4, !tbaa !91 |
| 1605 | + %9 = load i25, i25* %2, align 4, !tbaa !13 |
| 1606 | + call spir_func void @_Z32__spirv_ArbitraryFloatATan2INTELILi24ELi25ELi66EEU7_ExtIntIXT1_EEiU7_ExtIntIXT_EEiiU7_ExtIntIXT0_EEiiiiii(i66 addrspace(4)* sret(i66) align 8 %4, i24 signext %8, i32 16, i25 signext %9, i32 17, i32 18, i32 0, i32 2, i32 1) #5 |
| 1607 | +; CHECK-SPIRV: 6 Load [[Ty_24]] [[ATan2_AId:[0-9]+]] |
| 1608 | +; CHECK-SPIRV-NEXT: 6 Load [[Ty_25]] [[ATan2_BId:[0-9]+]] |
| 1609 | +; CHECK-SPIRV-NEXT: 11 ArbitraryFloatATan2INTEL [[Ty_66]] [[#]] [[ATan2_AId]] 16 [[ATan2_BId]] 17 18 0 2 1 |
| 1610 | +; CHECK-LLVM: call i66 @intel_arbitrary_float_atan2.i66.i24.i25(i24 %[[#]], i32 16, i25 %[[#]], i32 17, i32 18, i32 0, i32 2, i32 1) |
| 1611 | + %10 = load i66, i66 addrspace(4)* %4, align 8 |
| 1612 | + store i66 %10, i66 addrspace(4)* %4, align 8 |
| 1613 | + %11 = bitcast i66* %3 to i8* |
| 1614 | + call void @llvm.lifetime.end.p0i8(i64 16, i8* %11) #5 |
| 1615 | + %12 = bitcast i25* %2 to i8* |
| 1616 | + call void @llvm.lifetime.end.p0i8(i64 4, i8* %12) #5 |
| 1617 | + %13 = bitcast i24* %1 to i8* |
| 1618 | + call void @llvm.lifetime.end.p0i8(i64 4, i8* %13) #5 |
| 1619 | + ret void |
| 1620 | +} |
| 1621 | + |
1565 | 1622 | ; Function Attrs: nounwind
|
1566 | 1623 | declare dso_local spir_func i40 @_Z31__spirv_ArbitraryFloatCastINTELILi40ELi40EEU7_ExtIntIXT0_EEiU7_ExtIntIXT_EEiiiiii(i40, i32, i32, i32, i32, i32) #4
|
1567 | 1624 |
|
@@ -1688,6 +1745,12 @@ declare dso_local spir_func i56 @_Z31__spirv_ArbitraryFloatPowRINTELILi54ELi55EL
|
1688 | 1745 | ; Function Attrs: nounwind
|
1689 | 1746 | declare dso_local spir_func signext i15 @_Z31__spirv_ArbitraryFloatPowNINTELILi12ELi10ELi15EEU7_ExtIntIXT1_EEiU7_ExtIntIXT_EEiiU7_ExtIntIXT0_EEiiiii(i12 signext, i32, i10 signext, i32, i32, i32, i32) #4
|
1690 | 1747 |
|
| 1748 | +; Function Attrs: nounwind |
| 1749 | +declare dso_local spir_func void @_Z33__spirv_ArbitraryFloatSinCosINTELILi34ELi66EEU7_ExtIntIXmlLi2ET0_EEiU7_ExtIntIXT_EEiiiiii(i66 addrspace(4)* sret(i66) align 8, i34, i32, i32, i32, i32, i32) #4 |
| 1750 | + |
| 1751 | +; Function Attrs: nounwind |
| 1752 | +declare dso_local spir_func void @_Z32__spirv_ArbitraryFloatATan2INTELILi24ELi25ELi66EEU7_ExtIntIXT1_EEiU7_ExtIntIXT_EEiiU7_ExtIntIXT0_EEiiiiii(i66 addrspace(4)* sret(i66) align 8, i24 signext, i32, i25 signext, i32, i32, i32, i32, i32) #4 |
| 1753 | + |
1691 | 1754 | attributes #0 = { norecurse "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "uniform-work-group-size"="true" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
1692 | 1755 | attributes #1 = { argmemonly nounwind willreturn }
|
1693 | 1756 | attributes #2 = { inlinehint norecurse "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
|
0 commit comments