@@ -821,6 +821,90 @@ define double @foo3_fmf(double %a) nounwind {
821
821
ret double %r
822
822
}
823
823
824
+ define double @foo3_fmf_crbits_off (double %a ) #2 {
825
+ ; CHECK-P7-LABEL: foo3_fmf_crbits_off:
826
+ ; CHECK-P7: # %bb.0:
827
+ ; CHECK-P7-NEXT: fabs 0, 1
828
+ ; CHECK-P7-NEXT: addis 3, 2, .LCPI21_2@toc@ha
829
+ ; CHECK-P7-NEXT: lfd 2, .LCPI21_2@toc@l(3)
830
+ ; CHECK-P7-NEXT: fcmpu 0, 0, 2
831
+ ; CHECK-P7-NEXT: blt 0, .LBB21_2
832
+ ; CHECK-P7-NEXT: # %bb.1:
833
+ ; CHECK-P7-NEXT: frsqrte 0, 1
834
+ ; CHECK-P7-NEXT: addis 3, 2, .LCPI21_0@toc@ha
835
+ ; CHECK-P7-NEXT: addis 4, 2, .LCPI21_1@toc@ha
836
+ ; CHECK-P7-NEXT: lfs 3, .LCPI21_0@toc@l(3)
837
+ ; CHECK-P7-NEXT: lfs 4, .LCPI21_1@toc@l(4)
838
+ ; CHECK-P7-NEXT: fmul 2, 1, 0
839
+ ; CHECK-P7-NEXT: fmadd 2, 2, 0, 3
840
+ ; CHECK-P7-NEXT: fmul 0, 0, 4
841
+ ; CHECK-P7-NEXT: fmul 0, 0, 2
842
+ ; CHECK-P7-NEXT: fmul 1, 1, 0
843
+ ; CHECK-P7-NEXT: fmadd 0, 1, 0, 3
844
+ ; CHECK-P7-NEXT: fmul 1, 1, 4
845
+ ; CHECK-P7-NEXT: fmul 1, 1, 0
846
+ ; CHECK-P7-NEXT: blr
847
+ ; CHECK-P7-NEXT: .LBB21_2:
848
+ ; CHECK-P7-NEXT: fsqrt 1, 1
849
+ ; CHECK-P7-NEXT: blr
850
+ ;
851
+ ; CHECK-P8-LABEL: foo3_fmf_crbits_off:
852
+ ; CHECK-P8: # %bb.0:
853
+ ; CHECK-P8-NEXT: xsabsdp 0, 1
854
+ ; CHECK-P8-NEXT: addis 3, 2, .LCPI21_2@toc@ha
855
+ ; CHECK-P8-NEXT: lfd 2, .LCPI21_2@toc@l(3)
856
+ ; CHECK-P8-NEXT: xscmpudp 0, 0, 2
857
+ ; CHECK-P8-NEXT: blt 0, .LBB21_2
858
+ ; CHECK-P8-NEXT: # %bb.1:
859
+ ; CHECK-P8-NEXT: xsrsqrtedp 0, 1
860
+ ; CHECK-P8-NEXT: addis 3, 2, .LCPI21_0@toc@ha
861
+ ; CHECK-P8-NEXT: lfs 3, .LCPI21_0@toc@l(3)
862
+ ; CHECK-P8-NEXT: addis 3, 2, .LCPI21_1@toc@ha
863
+ ; CHECK-P8-NEXT: lfs 4, .LCPI21_1@toc@l(3)
864
+ ; CHECK-P8-NEXT: fmr 5, 3
865
+ ; CHECK-P8-NEXT: xsmuldp 2, 1, 0
866
+ ; CHECK-P8-NEXT: xsmaddadp 5, 2, 0
867
+ ; CHECK-P8-NEXT: xsmuldp 0, 0, 4
868
+ ; CHECK-P8-NEXT: xsmuldp 0, 0, 5
869
+ ; CHECK-P8-NEXT: xsmuldp 1, 1, 0
870
+ ; CHECK-P8-NEXT: xsmaddadp 3, 1, 0
871
+ ; CHECK-P8-NEXT: xsmuldp 0, 1, 4
872
+ ; CHECK-P8-NEXT: xsmuldp 1, 0, 3
873
+ ; CHECK-P8-NEXT: blr
874
+ ; CHECK-P8-NEXT: .LBB21_2:
875
+ ; CHECK-P8-NEXT: xssqrtdp 1, 1
876
+ ; CHECK-P8-NEXT: blr
877
+ ;
878
+ ; CHECK-P9-LABEL: foo3_fmf_crbits_off:
879
+ ; CHECK-P9: # %bb.0:
880
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI21_2@toc@ha
881
+ ; CHECK-P9-NEXT: xsabsdp 0, 1
882
+ ; CHECK-P9-NEXT: lfd 2, .LCPI21_2@toc@l(3)
883
+ ; CHECK-P9-NEXT: xscmpudp 0, 0, 2
884
+ ; CHECK-P9-NEXT: blt 0, .LBB21_2
885
+ ; CHECK-P9-NEXT: # %bb.1:
886
+ ; CHECK-P9-NEXT: xsrsqrtedp 0, 1
887
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI21_0@toc@ha
888
+ ; CHECK-P9-NEXT: lfs 3, .LCPI21_0@toc@l(3)
889
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI21_1@toc@ha
890
+ ; CHECK-P9-NEXT: xsmuldp 2, 1, 0
891
+ ; CHECK-P9-NEXT: fmr 4, 3
892
+ ; CHECK-P9-NEXT: xsmaddadp 4, 2, 0
893
+ ; CHECK-P9-NEXT: lfs 2, .LCPI21_1@toc@l(3)
894
+ ; CHECK-P9-NEXT: xsmuldp 0, 0, 2
895
+ ; CHECK-P9-NEXT: xsmuldp 0, 0, 4
896
+ ; CHECK-P9-NEXT: xsmuldp 1, 1, 0
897
+ ; CHECK-P9-NEXT: xsmaddadp 3, 1, 0
898
+ ; CHECK-P9-NEXT: xsmuldp 0, 1, 2
899
+ ; CHECK-P9-NEXT: xsmuldp 1, 0, 3
900
+ ; CHECK-P9-NEXT: blr
901
+ ; CHECK-P9-NEXT: .LBB21_2:
902
+ ; CHECK-P9-NEXT: xssqrtdp 1, 1
903
+ ; CHECK-P9-NEXT: blr
904
+ %r = call reassoc ninf afn double @llvm.sqrt.f64 (double %a )
905
+ ret double %r
906
+ }
907
+
824
908
define double @foo3_safe (double %a ) nounwind {
825
909
; CHECK-P7-LABEL: foo3_safe:
826
910
; CHECK-P7: # %bb.0:
@@ -844,67 +928,67 @@ define float @goo3_fmf(float %a) nounwind {
844
928
; CHECK-P7-LABEL: goo3_fmf:
845
929
; CHECK-P7: # %bb.0:
846
930
; CHECK-P7-NEXT: fabs 0, 1
847
- ; CHECK-P7-NEXT: addis 3, 2, .LCPI22_2 @toc@ha
848
- ; CHECK-P7-NEXT: lfs 2, .LCPI22_2 @toc@l(3)
931
+ ; CHECK-P7-NEXT: addis 3, 2, .LCPI23_2 @toc@ha
932
+ ; CHECK-P7-NEXT: lfs 2, .LCPI23_2 @toc@l(3)
849
933
; CHECK-P7-NEXT: fcmpu 0, 0, 2
850
- ; CHECK-P7-NEXT: blt 0, .LBB22_2
934
+ ; CHECK-P7-NEXT: blt 0, .LBB23_2
851
935
; CHECK-P7-NEXT: # %bb.1:
852
936
; CHECK-P7-NEXT: frsqrtes 0, 1
853
- ; CHECK-P7-NEXT: addis 3, 2, .LCPI22_0 @toc@ha
854
- ; CHECK-P7-NEXT: addis 4, 2, .LCPI22_1 @toc@ha
855
- ; CHECK-P7-NEXT: lfs 2, .LCPI22_0 @toc@l(3)
856
- ; CHECK-P7-NEXT: lfs 3, .LCPI22_1 @toc@l(4)
937
+ ; CHECK-P7-NEXT: addis 3, 2, .LCPI23_0 @toc@ha
938
+ ; CHECK-P7-NEXT: addis 4, 2, .LCPI23_1 @toc@ha
939
+ ; CHECK-P7-NEXT: lfs 2, .LCPI23_0 @toc@l(3)
940
+ ; CHECK-P7-NEXT: lfs 3, .LCPI23_1 @toc@l(4)
857
941
; CHECK-P7-NEXT: fmuls 1, 1, 0
858
942
; CHECK-P7-NEXT: fmadds 0, 1, 0, 2
859
943
; CHECK-P7-NEXT: fmuls 1, 1, 3
860
944
; CHECK-P7-NEXT: fmuls 1, 1, 0
861
945
; CHECK-P7-NEXT: blr
862
- ; CHECK-P7-NEXT: .LBB22_2 :
863
- ; CHECK-P7-NEXT: addis 3, 2, .LCPI22_3 @toc@ha
864
- ; CHECK-P7-NEXT: lfs 1, .LCPI22_3 @toc@l(3)
946
+ ; CHECK-P7-NEXT: .LBB23_2 :
947
+ ; CHECK-P7-NEXT: addis 3, 2, .LCPI23_3 @toc@ha
948
+ ; CHECK-P7-NEXT: lfs 1, .LCPI23_3 @toc@l(3)
865
949
; CHECK-P7-NEXT: blr
866
950
;
867
951
; CHECK-P8-LABEL: goo3_fmf:
868
952
; CHECK-P8: # %bb.0:
869
953
; CHECK-P8-NEXT: xsabsdp 0, 1
870
- ; CHECK-P8-NEXT: addis 3, 2, .LCPI22_2 @toc@ha
871
- ; CHECK-P8-NEXT: lfs 2, .LCPI22_2 @toc@l(3)
954
+ ; CHECK-P8-NEXT: addis 3, 2, .LCPI23_2 @toc@ha
955
+ ; CHECK-P8-NEXT: lfs 2, .LCPI23_2 @toc@l(3)
872
956
; CHECK-P8-NEXT: fcmpu 0, 0, 2
873
957
; CHECK-P8-NEXT: xxlxor 0, 0, 0
874
- ; CHECK-P8-NEXT: blt 0, .LBB22_2
958
+ ; CHECK-P8-NEXT: blt 0, .LBB23_2
875
959
; CHECK-P8-NEXT: # %bb.1:
876
960
; CHECK-P8-NEXT: xsrsqrtesp 0, 1
877
- ; CHECK-P8-NEXT: addis 3, 2, .LCPI22_0 @toc@ha
878
- ; CHECK-P8-NEXT: addis 4, 2, .LCPI22_1 @toc@ha
879
- ; CHECK-P8-NEXT: lfs 2, .LCPI22_0 @toc@l(3)
880
- ; CHECK-P8-NEXT: lfs 3, .LCPI22_1 @toc@l(4)
961
+ ; CHECK-P8-NEXT: addis 3, 2, .LCPI23_0 @toc@ha
962
+ ; CHECK-P8-NEXT: addis 4, 2, .LCPI23_1 @toc@ha
963
+ ; CHECK-P8-NEXT: lfs 2, .LCPI23_0 @toc@l(3)
964
+ ; CHECK-P8-NEXT: lfs 3, .LCPI23_1 @toc@l(4)
881
965
; CHECK-P8-NEXT: xsmulsp 1, 1, 0
882
966
; CHECK-P8-NEXT: xsmaddasp 2, 1, 0
883
967
; CHECK-P8-NEXT: xsmulsp 0, 1, 3
884
968
; CHECK-P8-NEXT: xsmulsp 0, 0, 2
885
- ; CHECK-P8-NEXT: .LBB22_2 :
969
+ ; CHECK-P8-NEXT: .LBB23_2 :
886
970
; CHECK-P8-NEXT: fmr 1, 0
887
971
; CHECK-P8-NEXT: blr
888
972
;
889
973
; CHECK-P9-LABEL: goo3_fmf:
890
974
; CHECK-P9: # %bb.0:
891
- ; CHECK-P9-NEXT: addis 3, 2, .LCPI22_2 @toc@ha
975
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI23_2 @toc@ha
892
976
; CHECK-P9-NEXT: xsabsdp 0, 1
893
- ; CHECK-P9-NEXT: lfs 2, .LCPI22_2 @toc@l(3)
977
+ ; CHECK-P9-NEXT: lfs 2, .LCPI23_2 @toc@l(3)
894
978
; CHECK-P9-NEXT: fcmpu 0, 0, 2
895
979
; CHECK-P9-NEXT: xxlxor 0, 0, 0
896
- ; CHECK-P9-NEXT: blt 0, .LBB22_2
980
+ ; CHECK-P9-NEXT: blt 0, .LBB23_2
897
981
; CHECK-P9-NEXT: # %bb.1:
898
982
; CHECK-P9-NEXT: xsrsqrtesp 0, 1
899
- ; CHECK-P9-NEXT: addis 3, 2, .LCPI22_0 @toc@ha
900
- ; CHECK-P9-NEXT: lfs 2, .LCPI22_0 @toc@l(3)
901
- ; CHECK-P9-NEXT: addis 3, 2, .LCPI22_1 @toc@ha
983
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI23_0 @toc@ha
984
+ ; CHECK-P9-NEXT: lfs 2, .LCPI23_0 @toc@l(3)
985
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI23_1 @toc@ha
902
986
; CHECK-P9-NEXT: xsmulsp 1, 1, 0
903
987
; CHECK-P9-NEXT: xsmaddasp 2, 1, 0
904
- ; CHECK-P9-NEXT: lfs 0, .LCPI22_1 @toc@l(3)
988
+ ; CHECK-P9-NEXT: lfs 0, .LCPI23_1 @toc@l(3)
905
989
; CHECK-P9-NEXT: xsmulsp 0, 1, 0
906
990
; CHECK-P9-NEXT: xsmulsp 0, 0, 2
907
- ; CHECK-P9-NEXT: .LBB22_2 :
991
+ ; CHECK-P9-NEXT: .LBB23_2 :
908
992
; CHECK-P9-NEXT: fmr 1, 0
909
993
; CHECK-P9-NEXT: blr
910
994
%r = call reassoc ninf afn float @llvm.sqrt.f32 (float %a )
@@ -934,12 +1018,12 @@ define <4 x float> @hoo3_fmf(<4 x float> %a) #1 {
934
1018
; CHECK-P7-LABEL: hoo3_fmf:
935
1019
; CHECK-P7: # %bb.0:
936
1020
; CHECK-P7-NEXT: vspltisw 3, -1
937
- ; CHECK-P7-NEXT: addis 3, 2, .LCPI24_0 @toc@ha
1021
+ ; CHECK-P7-NEXT: addis 3, 2, .LCPI25_0 @toc@ha
938
1022
; CHECK-P7-NEXT: vrsqrtefp 4, 2
939
- ; CHECK-P7-NEXT: addi 3, 3, .LCPI24_0 @toc@l
1023
+ ; CHECK-P7-NEXT: addi 3, 3, .LCPI25_0 @toc@l
940
1024
; CHECK-P7-NEXT: lvx 0, 0, 3
941
- ; CHECK-P7-NEXT: addis 3, 2, .LCPI24_1 @toc@ha
942
- ; CHECK-P7-NEXT: addi 3, 3, .LCPI24_1 @toc@l
1025
+ ; CHECK-P7-NEXT: addis 3, 2, .LCPI25_1 @toc@ha
1026
+ ; CHECK-P7-NEXT: addi 3, 3, .LCPI25_1 @toc@l
943
1027
; CHECK-P7-NEXT: lvx 1, 0, 3
944
1028
; CHECK-P7-NEXT: vslw 3, 3, 3
945
1029
; CHECK-P7-NEXT: vmaddfp 5, 2, 4, 3
@@ -954,42 +1038,42 @@ define <4 x float> @hoo3_fmf(<4 x float> %a) #1 {
954
1038
; CHECK-P8-LABEL: hoo3_fmf:
955
1039
; CHECK-P8: # %bb.0:
956
1040
; CHECK-P8-NEXT: xvtsqrtsp 0, 34
957
- ; CHECK-P8-NEXT: bc 12, 2, .LBB24_2
1041
+ ; CHECK-P8-NEXT: bc 12, 2, .LBB25_2
958
1042
; CHECK-P8-NEXT: # %bb.1:
959
1043
; CHECK-P8-NEXT: xvrsqrtesp 0, 34
960
- ; CHECK-P8-NEXT: addis 3, 2, .LCPI24_0 @toc@ha
961
- ; CHECK-P8-NEXT: addis 4, 2, .LCPI24_1 @toc@ha
962
- ; CHECK-P8-NEXT: addi 3, 3, .LCPI24_0 @toc@l
1044
+ ; CHECK-P8-NEXT: addis 3, 2, .LCPI25_0 @toc@ha
1045
+ ; CHECK-P8-NEXT: addis 4, 2, .LCPI25_1 @toc@ha
1046
+ ; CHECK-P8-NEXT: addi 3, 3, .LCPI25_0 @toc@l
963
1047
; CHECK-P8-NEXT: xvmulsp 1, 34, 0
964
1048
; CHECK-P8-NEXT: lvx 2, 0, 3
965
- ; CHECK-P8-NEXT: addi 3, 4, .LCPI24_1 @toc@l
1049
+ ; CHECK-P8-NEXT: addi 3, 4, .LCPI25_1 @toc@l
966
1050
; CHECK-P8-NEXT: lvx 3, 0, 3
967
1051
; CHECK-P8-NEXT: xvmaddasp 34, 1, 0
968
1052
; CHECK-P8-NEXT: xvmulsp 0, 1, 35
969
1053
; CHECK-P8-NEXT: xvmulsp 34, 0, 34
970
1054
; CHECK-P8-NEXT: blr
971
- ; CHECK-P8-NEXT: .LBB24_2 :
1055
+ ; CHECK-P8-NEXT: .LBB25_2 :
972
1056
; CHECK-P8-NEXT: xvsqrtsp 34, 34
973
1057
; CHECK-P8-NEXT: blr
974
1058
;
975
1059
; CHECK-P9-LABEL: hoo3_fmf:
976
1060
; CHECK-P9: # %bb.0:
977
1061
; CHECK-P9-NEXT: xvtsqrtsp 0, 34
978
- ; CHECK-P9-NEXT: bc 12, 2, .LBB24_2
1062
+ ; CHECK-P9-NEXT: bc 12, 2, .LBB25_2
979
1063
; CHECK-P9-NEXT: # %bb.1:
980
1064
; CHECK-P9-NEXT: xvrsqrtesp 0, 34
981
- ; CHECK-P9-NEXT: addis 3, 2, .LCPI24_0 @toc@ha
982
- ; CHECK-P9-NEXT: addi 3, 3, .LCPI24_0 @toc@l
1065
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI25_0 @toc@ha
1066
+ ; CHECK-P9-NEXT: addi 3, 3, .LCPI25_0 @toc@l
983
1067
; CHECK-P9-NEXT: lxvx 2, 0, 3
984
- ; CHECK-P9-NEXT: addis 3, 2, .LCPI24_1 @toc@ha
985
- ; CHECK-P9-NEXT: addi 3, 3, .LCPI24_1 @toc@l
1068
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI25_1 @toc@ha
1069
+ ; CHECK-P9-NEXT: addi 3, 3, .LCPI25_1 @toc@l
986
1070
; CHECK-P9-NEXT: xvmulsp 1, 34, 0
987
1071
; CHECK-P9-NEXT: xvmaddasp 2, 1, 0
988
1072
; CHECK-P9-NEXT: lxvx 0, 0, 3
989
1073
; CHECK-P9-NEXT: xvmulsp 0, 1, 0
990
1074
; CHECK-P9-NEXT: xvmulsp 34, 0, 2
991
1075
; CHECK-P9-NEXT: blr
992
- ; CHECK-P9-NEXT: .LBB24_2 :
1076
+ ; CHECK-P9-NEXT: .LBB25_2 :
993
1077
; CHECK-P9-NEXT: xvsqrtsp 34, 34
994
1078
; CHECK-P9-NEXT: blr
995
1079
%r = call reassoc ninf afn <4 x float > @llvm.sqrt.v4f32 (<4 x float > %a )
@@ -1034,11 +1118,11 @@ define <2 x double> @hoo4_fmf(<2 x double> %a) #1 {
1034
1118
; CHECK-P7-LABEL: hoo4_fmf:
1035
1119
; CHECK-P7: # %bb.0:
1036
1120
; CHECK-P7-NEXT: ftsqrt 0, 1
1037
- ; CHECK-P7-NEXT: addis 3, 2, .LCPI26_0 @toc@ha
1038
- ; CHECK-P7-NEXT: addis 4, 2, .LCPI26_1 @toc@ha
1039
- ; CHECK-P7-NEXT: lfs 3, .LCPI26_0 @toc@l(3)
1040
- ; CHECK-P7-NEXT: lfs 0, .LCPI26_1 @toc@l(4)
1041
- ; CHECK-P7-NEXT: bc 12, 2, .LBB26_3
1121
+ ; CHECK-P7-NEXT: addis 3, 2, .LCPI27_0 @toc@ha
1122
+ ; CHECK-P7-NEXT: addis 4, 2, .LCPI27_1 @toc@ha
1123
+ ; CHECK-P7-NEXT: lfs 3, .LCPI27_0 @toc@l(3)
1124
+ ; CHECK-P7-NEXT: lfs 0, .LCPI27_1 @toc@l(4)
1125
+ ; CHECK-P7-NEXT: bc 12, 2, .LBB27_3
1042
1126
; CHECK-P7-NEXT: # %bb.1:
1043
1127
; CHECK-P7-NEXT: frsqrte 4, 1
1044
1128
; CHECK-P7-NEXT: fmul 5, 1, 4
@@ -1050,15 +1134,15 @@ define <2 x double> @hoo4_fmf(<2 x double> %a) #1 {
1050
1134
; CHECK-P7-NEXT: fmul 1, 1, 0
1051
1135
; CHECK-P7-NEXT: fmul 1, 1, 4
1052
1136
; CHECK-P7-NEXT: ftsqrt 0, 2
1053
- ; CHECK-P7-NEXT: bc 4, 2, .LBB26_4
1054
- ; CHECK-P7-NEXT: .LBB26_2 :
1137
+ ; CHECK-P7-NEXT: bc 4, 2, .LBB27_4
1138
+ ; CHECK-P7-NEXT: .LBB27_2 :
1055
1139
; CHECK-P7-NEXT: fsqrt 2, 2
1056
1140
; CHECK-P7-NEXT: blr
1057
- ; CHECK-P7-NEXT: .LBB26_3 :
1141
+ ; CHECK-P7-NEXT: .LBB27_3 :
1058
1142
; CHECK-P7-NEXT: fsqrt 1, 1
1059
1143
; CHECK-P7-NEXT: ftsqrt 0, 2
1060
- ; CHECK-P7-NEXT: bc 12, 2, .LBB26_2
1061
- ; CHECK-P7-NEXT: .LBB26_4 :
1144
+ ; CHECK-P7-NEXT: bc 12, 2, .LBB27_2
1145
+ ; CHECK-P7-NEXT: .LBB27_4 :
1062
1146
; CHECK-P7-NEXT: frsqrte 4, 2
1063
1147
; CHECK-P7-NEXT: fmul 5, 2, 4
1064
1148
; CHECK-P7-NEXT: fmadd 5, 5, 4, 3
@@ -1073,14 +1157,14 @@ define <2 x double> @hoo4_fmf(<2 x double> %a) #1 {
1073
1157
; CHECK-P8-LABEL: hoo4_fmf:
1074
1158
; CHECK-P8: # %bb.0:
1075
1159
; CHECK-P8-NEXT: xvtsqrtdp 0, 34
1076
- ; CHECK-P8-NEXT: bc 12, 2, .LBB26_2
1160
+ ; CHECK-P8-NEXT: bc 12, 2, .LBB27_2
1077
1161
; CHECK-P8-NEXT: # %bb.1:
1078
1162
; CHECK-P8-NEXT: xvrsqrtedp 0, 34
1079
- ; CHECK-P8-NEXT: addis 3, 2, .LCPI26_0 @toc@ha
1080
- ; CHECK-P8-NEXT: addi 3, 3, .LCPI26_0 @toc@l
1163
+ ; CHECK-P8-NEXT: addis 3, 2, .LCPI27_0 @toc@ha
1164
+ ; CHECK-P8-NEXT: addi 3, 3, .LCPI27_0 @toc@l
1081
1165
; CHECK-P8-NEXT: lxvd2x 1, 0, 3
1082
- ; CHECK-P8-NEXT: addis 3, 2, .LCPI26_1 @toc@ha
1083
- ; CHECK-P8-NEXT: addi 3, 3, .LCPI26_1 @toc@l
1166
+ ; CHECK-P8-NEXT: addis 3, 2, .LCPI27_1 @toc@ha
1167
+ ; CHECK-P8-NEXT: addi 3, 3, .LCPI27_1 @toc@l
1084
1168
; CHECK-P8-NEXT: lxvd2x 3, 0, 3
1085
1169
; CHECK-P8-NEXT: xxswapd 1, 1
1086
1170
; CHECK-P8-NEXT: xvmuldp 2, 34, 0
@@ -1094,21 +1178,21 @@ define <2 x double> @hoo4_fmf(<2 x double> %a) #1 {
1094
1178
; CHECK-P8-NEXT: xvmuldp 0, 2, 3
1095
1179
; CHECK-P8-NEXT: xvmuldp 34, 0, 1
1096
1180
; CHECK-P8-NEXT: blr
1097
- ; CHECK-P8-NEXT: .LBB26_2 :
1181
+ ; CHECK-P8-NEXT: .LBB27_2 :
1098
1182
; CHECK-P8-NEXT: xvsqrtdp 34, 34
1099
1183
; CHECK-P8-NEXT: blr
1100
1184
;
1101
1185
; CHECK-P9-LABEL: hoo4_fmf:
1102
1186
; CHECK-P9: # %bb.0:
1103
1187
; CHECK-P9-NEXT: xvtsqrtdp 0, 34
1104
- ; CHECK-P9-NEXT: bc 12, 2, .LBB26_2
1188
+ ; CHECK-P9-NEXT: bc 12, 2, .LBB27_2
1105
1189
; CHECK-P9-NEXT: # %bb.1:
1106
1190
; CHECK-P9-NEXT: xvrsqrtedp 0, 34
1107
- ; CHECK-P9-NEXT: addis 3, 2, .LCPI26_0 @toc@ha
1108
- ; CHECK-P9-NEXT: addi 3, 3, .LCPI26_0 @toc@l
1191
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI27_0 @toc@ha
1192
+ ; CHECK-P9-NEXT: addi 3, 3, .LCPI27_0 @toc@l
1109
1193
; CHECK-P9-NEXT: lxvx 2, 0, 3
1110
- ; CHECK-P9-NEXT: addis 3, 2, .LCPI26_1 @toc@ha
1111
- ; CHECK-P9-NEXT: addi 3, 3, .LCPI26_1 @toc@l
1194
+ ; CHECK-P9-NEXT: addis 3, 2, .LCPI27_1 @toc@ha
1195
+ ; CHECK-P9-NEXT: addi 3, 3, .LCPI27_1 @toc@l
1112
1196
; CHECK-P9-NEXT: xvmuldp 1, 34, 0
1113
1197
; CHECK-P9-NEXT: xxlor 3, 2, 2
1114
1198
; CHECK-P9-NEXT: xvmaddadp 3, 1, 0
@@ -1120,7 +1204,7 @@ define <2 x double> @hoo4_fmf(<2 x double> %a) #1 {
1120
1204
; CHECK-P9-NEXT: xvmuldp 0, 3, 1
1121
1205
; CHECK-P9-NEXT: xvmuldp 34, 0, 2
1122
1206
; CHECK-P9-NEXT: blr
1123
- ; CHECK-P9-NEXT: .LBB26_2 :
1207
+ ; CHECK-P9-NEXT: .LBB27_2 :
1124
1208
; CHECK-P9-NEXT: xvsqrtdp 34, 34
1125
1209
; CHECK-P9-NEXT: blr
1126
1210
%r = call reassoc ninf afn <2 x double > @llvm.sqrt.v2f64 (<2 x double > %a )
@@ -1215,3 +1299,4 @@ define fp128 @hoo5_safe(fp128 %a) #1 {
1215
1299
1216
1300
attributes #0 = { nounwind "reciprocal-estimates" ="sqrtf:0,sqrtd:0" }
1217
1301
attributes #1 = { nounwind "denormal-fp-math" ="preserve-sign,preserve-sign" }
1302
+ attributes #2 = { nounwind readnone "target-features" ="-crbits" }
0 commit comments