@@ -55,6 +55,60 @@ define double @log1p_zero() {
5555 ret double %r
5656}
5757
58+ define float @log1pf_neg_zero () {
59+ ; CHECK-LABEL: define float @log1pf_neg_zero() {
60+ ; CHECK-NEXT: [[R:%.*]] = call float @log1pf(float -0.000000e+00)
61+ ; CHECK-NEXT: ret float -0.000000e+00
62+ ;
63+ %r = call float @log1pf (float -0 .000000e+00 )
64+ ret float %r
65+ }
66+
67+ define double @log1p_neg_zero () {
68+ ; CHECK-LABEL: define double @log1p_neg_zero() {
69+ ; CHECK-NEXT: [[R:%.*]] = call double @log1p(double -0.000000e+00)
70+ ; CHECK-NEXT: ret double -0.000000e+00
71+ ;
72+ %r = call double @log1p (double -0 .000000e+00 )
73+ ret double %r
74+ }
75+
76+ define float @log1pf_neg1 () {
77+ ; CHECK-LABEL: define float @log1pf_neg1() {
78+ ; CHECK-NEXT: [[R:%.*]] = call float @log1pf(float -7.000000e+00)
79+ ; CHECK-NEXT: ret float [[R]]
80+ ;
81+ %r = call float @log1pf (float -7 .000000e+00 )
82+ ret float %r
83+ }
84+
85+ define double @log1p_neg1 () {
86+ ; CHECK-LABEL: define double @log1p_neg1() {
87+ ; CHECK-NEXT: [[R:%.*]] = call double @log1p(double -7.000000e+00)
88+ ; CHECK-NEXT: ret double [[R]]
89+ ;
90+ %r = call double @log1p (double -7 .000000e+00 )
91+ ret double %r
92+ }
93+
94+ define float @log1pf_neg2 () {
95+ ; CHECK-LABEL: define float @log1pf_neg2() {
96+ ; CHECK-NEXT: [[R:%.*]] = call float @log1pf(float -5.000000e-01)
97+ ; CHECK-NEXT: ret float 0xBFE62E4300000000
98+ ;
99+ %r = call float @log1pf (float -5.000000e-01 )
100+ ret float %r
101+ }
102+
103+ define double @log1p_neg2 () {
104+ ; CHECK-LABEL: define double @log1p_neg2() {
105+ ; CHECK-NEXT: [[R:%.*]] = call double @log1p(double -5.000000e-01)
106+ ; CHECK-NEXT: ret double 0xBFE62E42FEFA39EF
107+ ;
108+ %r = call double @log1p (double -5.000000e-01 )
109+ ret double %r
110+ }
111+
58112define float @log1pf_inf () {
59113; CHECK-LABEL: define float @log1pf_inf() {
60114; CHECK-NEXT: [[R:%.*]] = call float @log1pf(float 0x7FF0000000000000)
@@ -73,6 +127,24 @@ define double @log1p_inf() {
73127 ret double %r
74128}
75129
130+ define float @log1pf_neg_inf () {
131+ ; CHECK-LABEL: define float @log1pf_neg_inf() {
132+ ; CHECK-NEXT: [[R:%.*]] = call float @log1pf(float 0xFFF0000000000000)
133+ ; CHECK-NEXT: ret float [[R]]
134+ ;
135+ %r = call float @log1pf (float 0xFFF0000000000000 )
136+ ret float %r
137+ }
138+
139+ define double @log1p_neg_inf () {
140+ ; CHECK-LABEL: define double @log1p_neg_inf() {
141+ ; CHECK-NEXT: [[R:%.*]] = call double @log1p(double 0xFFF0000000000000)
142+ ; CHECK-NEXT: ret double [[R]]
143+ ;
144+ %r = call double @log1p (double 0xFFF0000000000000 )
145+ ret double %r
146+ }
147+
76148define float @log1pf_nan () {
77149; CHECK-LABEL: define float @log1pf_nan() {
78150; CHECK-NEXT: [[R:%.*]] = call float @log1pf(float 0x7FF8000000000000)
0 commit comments