@@ -27,7 +27,7 @@ define double @FADD_DOUBLE_I(double %x) {
2727; CHECK-DF-NEXT: rts16
2828; CHECK-DF-NEXT: .p2align 1
2929; CHECK-DF-NEXT: # %bb.1:
30- ; CHECK-DF-NEXT: .p2align 2
30+ ; CHECK-DF-NEXT: .p2align 2, 0x0
3131; CHECK-DF-NEXT: .LCPI1_0:
3232; CHECK-DF-NEXT: .quad 0xbff0000000000000 # double -1
3333;
@@ -38,7 +38,7 @@ define double @FADD_DOUBLE_I(double %x) {
3838; CHECK-DF2-NEXT: rts16
3939; CHECK-DF2-NEXT: .p2align 1
4040; CHECK-DF2-NEXT: # %bb.1:
41- ; CHECK-DF2-NEXT: .p2align 2
41+ ; CHECK-DF2-NEXT: .p2align 2, 0x0
4242; CHECK-DF2-NEXT: .LCPI1_0:
4343; CHECK-DF2-NEXT: .quad 0xbff0000000000000 # double -1
4444entry:
@@ -72,7 +72,7 @@ define double @FSUB_DOUBLE_I(double %x) {
7272; CHECK-DF-NEXT: rts16
7373; CHECK-DF-NEXT: .p2align 1
7474; CHECK-DF-NEXT: # %bb.1:
75- ; CHECK-DF-NEXT: .p2align 2
75+ ; CHECK-DF-NEXT: .p2align 2, 0x0
7676; CHECK-DF-NEXT: .LCPI3_0:
7777; CHECK-DF-NEXT: .quad 0x3ff0000000000000 # double 1
7878;
@@ -83,7 +83,7 @@ define double @FSUB_DOUBLE_I(double %x) {
8383; CHECK-DF2-NEXT: rts16
8484; CHECK-DF2-NEXT: .p2align 1
8585; CHECK-DF2-NEXT: # %bb.1:
86- ; CHECK-DF2-NEXT: .p2align 2
86+ ; CHECK-DF2-NEXT: .p2align 2, 0x0
8787; CHECK-DF2-NEXT: .LCPI3_0:
8888; CHECK-DF2-NEXT: .quad 0x3ff0000000000000 # double 1
8989
@@ -108,29 +108,62 @@ entry:
108108 ret double %fmul
109109}
110110
111+ define double @FNMUL_DOUBLE_a (double %x , double %y ) {
112+ ;
113+ ; CHECK-DF-LABEL: FNMUL_DOUBLE_a:
114+ ; CHECK-DF: # %bb.0: # %entry
115+ ; CHECK-DF-NEXT: fnmuld vr0, vr1, vr0
116+ ; CHECK-DF-NEXT: rts16
117+ ;
118+ ; CHECK-DF2-LABEL: FNMUL_DOUBLE_a:
119+ ; CHECK-DF2: # %bb.0: # %entry
120+ ; CHECK-DF2-NEXT: fnmul.64 vr0, vr1, vr0
121+ ; CHECK-DF2-NEXT: rts16
122+ entry:
123+ %z = fneg double %y
124+ %fnmul = fmul double %z , %x
125+ ret double %fnmul
126+ }
127+
128+ define double @FNMUL_DOUBLE_b (double %x , double %y ) {
129+ ; CHECK-DF-LABEL: FNMUL_DOUBLE_b:
130+ ; CHECK-DF: # %bb.0: # %entry
131+ ; CHECK-DF-NEXT: fnmuld vr0, vr0, vr1
132+ ; CHECK-DF-NEXT: rts16
133+ ;
134+ ; CHECK-DF2-LABEL: FNMUL_DOUBLE_b:
135+ ; CHECK-DF2: # %bb.0: # %entry
136+ ; CHECK-DF2-NEXT: fnmul.64 vr0, vr0, vr1
137+ ; CHECK-DF2-NEXT: rts16
138+ entry:
139+ %z = fneg double %x
140+ %fnmul = fmul double %y , %z
141+ ret double %fnmul
142+ }
143+
111144define double @FMUL_DOUBLE_I (double %x ) {
112145;
113146; CHECK-DF-LABEL: FMUL_DOUBLE_I:
114147; CHECK-DF: # %bb.0: # %entry
115- ; CHECK-DF-NEXT: grs32 a0, .LCPI5_0
148+ ; CHECK-DF-NEXT: grs32 a0, .LCPI7_0
116149; CHECK-DF-NEXT: fldd vr1, (a0, 0)
117150; CHECK-DF-NEXT: fmuld vr0, vr0, vr1
118151; CHECK-DF-NEXT: rts16
119152; CHECK-DF-NEXT: .p2align 1
120153; CHECK-DF-NEXT: # %bb.1:
121- ; CHECK-DF-NEXT: .p2align 2
122- ; CHECK-DF-NEXT: .LCPI5_0 :
154+ ; CHECK-DF-NEXT: .p2align 2, 0x0
155+ ; CHECK-DF-NEXT: .LCPI7_0 :
123156; CHECK-DF-NEXT: .quad 0xc01c000000000000 # double -7
124157;
125158; CHECK-DF2-LABEL: FMUL_DOUBLE_I:
126159; CHECK-DF2: # %bb.0: # %entry
127- ; CHECK-DF2-NEXT: flrw.64 vr1, [.LCPI5_0 ]
160+ ; CHECK-DF2-NEXT: flrw.64 vr1, [.LCPI7_0 ]
128161; CHECK-DF2-NEXT: fmul.64 vr0, vr0, vr1
129162; CHECK-DF2-NEXT: rts16
130163; CHECK-DF2-NEXT: .p2align 1
131164; CHECK-DF2-NEXT: # %bb.1:
132- ; CHECK-DF2-NEXT: .p2align 2
133- ; CHECK-DF2-NEXT: .LCPI5_0 :
165+ ; CHECK-DF2-NEXT: .p2align 2, 0x0
166+ ; CHECK-DF2-NEXT: .LCPI7_0 :
134167; CHECK-DF2-NEXT: .quad 0xc01c000000000000 # double -7
135168entry:
136169 %fmul = fmul double %x , -7 .0
@@ -159,25 +192,25 @@ define double @FDIV_DOUBLE_I(double %x) {
159192;
160193; CHECK-DF-LABEL: FDIV_DOUBLE_I:
161194; CHECK-DF: # %bb.0: # %entry
162- ; CHECK-DF-NEXT: grs32 a0, .LCPI7_0
195+ ; CHECK-DF-NEXT: grs32 a0, .LCPI9_0
163196; CHECK-DF-NEXT: fldd vr1, (a0, 0)
164197; CHECK-DF-NEXT: fdivd vr0, vr0, vr1
165198; CHECK-DF-NEXT: rts16
166199; CHECK-DF-NEXT: .p2align 1
167200; CHECK-DF-NEXT: # %bb.1:
168- ; CHECK-DF-NEXT: .p2align 2
169- ; CHECK-DF-NEXT: .LCPI7_0 :
201+ ; CHECK-DF-NEXT: .p2align 2, 0x0
202+ ; CHECK-DF-NEXT: .LCPI9_0 :
170203; CHECK-DF-NEXT: .quad 0xc01c000000000000 # double -7
171204;
172205; CHECK-DF2-LABEL: FDIV_DOUBLE_I:
173206; CHECK-DF2: # %bb.0: # %entry
174- ; CHECK-DF2-NEXT: flrw.64 vr1, [.LCPI7_0 ]
207+ ; CHECK-DF2-NEXT: flrw.64 vr1, [.LCPI9_0 ]
175208; CHECK-DF2-NEXT: fdiv.64 vr0, vr0, vr1
176209; CHECK-DF2-NEXT: rts16
177210; CHECK-DF2-NEXT: .p2align 1
178211; CHECK-DF2-NEXT: # %bb.1:
179- ; CHECK-DF2-NEXT: .p2align 2
180- ; CHECK-DF2-NEXT: .LCPI7_0 :
212+ ; CHECK-DF2-NEXT: .p2align 2, 0x0
213+ ; CHECK-DF2-NEXT: .LCPI9_0 :
181214; CHECK-DF2-NEXT: .quad 0xc01c000000000000 # double -7
182215entry:
183216 %fdiv = fdiv double %x , -7 .0
0 commit comments