File tree 1 file changed +20
-0
lines changed 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -85,6 +85,26 @@ define double @minsize(double %x, double %y) minsize {
85
85
ret double %t6
86
86
}
87
87
88
+ ; Partial reg avoidance may involve register allocation
89
+ ; rather than adding an instruction.
90
+
91
+ define double @partial_dep_minsize (double %x , double %y ) minsize {
92
+ ; SSE-LABEL: partial_dep_minsize:
93
+ ; SSE: # %bb.0:
94
+ ; SSE-NEXT: sqrtsd %xmm1, %xmm0
95
+ ; SSE-NEXT: addsd %xmm1, %xmm0
96
+ ; SSE-NEXT: retq
97
+ ;
98
+ ; AVX-LABEL: partial_dep_minsize:
99
+ ; AVX: # %bb.0:
100
+ ; AVX-NEXT: vsqrtsd %xmm1, %xmm1, %xmm0
101
+ ; AVX-NEXT: vaddsd %xmm1, %xmm0, %xmm0
102
+ ; AVX-NEXT: retq
103
+ %t6 = tail call fast double @llvm.sqrt.f64 (double %y )
104
+ %t = fadd fast double %t6 , %y
105
+ ret double %t
106
+ }
107
+
88
108
declare float @sqrtf (float )
89
109
declare double @sqrt (double )
90
110
declare double @llvm.sqrt.f64 (double )
You can’t perform that action at this time.
0 commit comments