llvm.org GIT mirror llvm / 0bb4160
Make log, log2, log10, exp, exp2 use Expand by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56471 91177308-0d34-0410-b5e6-96231b3b80d8 Dale Johannesen 11 years ago
8 changed file(s) with 12 addition(s) and 71 deletion(s). Raw diff Collapse all Expand all
429429 setOperationAction(ISD::ConstantFP, MVT::f64, Expand);
430430 setOperationAction(ISD::ConstantFP, MVT::f80, Expand);
431431
432 // These library functions default to expand.
433 setOperationAction(ISD::FLOG , MVT::f64, Expand);
434 setOperationAction(ISD::FLOG2, MVT::f64, Expand);
435 setOperationAction(ISD::FLOG10,MVT::f64, Expand);
436 setOperationAction(ISD::FEXP , MVT::f64, Expand);
437 setOperationAction(ISD::FEXP2, MVT::f64, Expand);
438 setOperationAction(ISD::FLOG , MVT::f32, Expand);
439 setOperationAction(ISD::FLOG2, MVT::f32, Expand);
440 setOperationAction(ISD::FLOG10,MVT::f32, Expand);
441 setOperationAction(ISD::FEXP , MVT::f32, Expand);
442 setOperationAction(ISD::FEXP2, MVT::f32, Expand);
443
432444 // Default ISD::TRAP to expand (which turns it into abort).
433445 setOperationAction(ISD::TRAP, MVT::Other, Expand);
434446
242242 setOperationAction(ISD::FCOS , MVT::f64, Expand);
243243 setOperationAction(ISD::FREM , MVT::f64, Expand);
244244 setOperationAction(ISD::FREM , MVT::f32, Expand);
245 setOperationAction(ISD::FLOG , MVT::f64, Expand);
246 setOperationAction(ISD::FLOG , MVT::f32, Expand);
247 setOperationAction(ISD::FLOG2 , MVT::f64, Expand);
248 setOperationAction(ISD::FLOG2 , MVT::f32, Expand);
249 setOperationAction(ISD::FLOG10 , MVT::f64, Expand);
250 setOperationAction(ISD::FLOG10 , MVT::f32, Expand);
251 setOperationAction(ISD::FEXP , MVT::f64, Expand);
252 setOperationAction(ISD::FEXP , MVT::f32, Expand);
253 setOperationAction(ISD::FEXP2 , MVT::f64, Expand);
254 setOperationAction(ISD::FEXP2 , MVT::f32, Expand);
255245 if (!UseSoftFloat && Subtarget->hasVFP2() && !Subtarget->isThumb()) {
256246 setOperationAction(ISD::FCOPYSIGN, MVT::f64, Custom);
257247 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Custom);
9898 setOperationAction(ISD::FPOW , MVT::f32, Expand);
9999 setOperationAction(ISD::FPOW , MVT::f64, Expand);
100100
101 setOperationAction(ISD::FLOG, MVT::f32, Expand);
102 setOperationAction(ISD::FLOG, MVT::f64, Expand);
103 setOperationAction(ISD::FLOG2, MVT::f32, Expand);
104 setOperationAction(ISD::FLOG2, MVT::f64, Expand);
105 setOperationAction(ISD::FLOG10, MVT::f32, Expand);
106 setOperationAction(ISD::FLOG10, MVT::f64, Expand);
107 setOperationAction(ISD::FEXP, MVT::f32, Expand);
108 setOperationAction(ISD::FEXP, MVT::f64, Expand);
109 setOperationAction(ISD::FEXP2, MVT::f32, Expand);
110 setOperationAction(ISD::FEXP2, MVT::f64, Expand);
111
112101 setOperationAction(ISD::SETCC, MVT::f32, Promote);
113102
114103 setOperationAction(ISD::BIT_CONVERT, MVT::f32, Promote);
188188 setOperationAction(ISD::FSIN , MVT::f64, Expand);
189189 setOperationAction(ISD::FCOS , MVT::f64, Expand);
190190 setOperationAction(ISD::FREM , MVT::f64, Expand);
191 setOperationAction(ISD::FLOG , MVT::f64, Expand);
192 setOperationAction(ISD::FLOG2, MVT::f64, Expand);
193 setOperationAction(ISD::FLOG10,MVT::f64, Expand);
194 setOperationAction(ISD::FEXP , MVT::f64, Expand);
195 setOperationAction(ISD::FEXP2, MVT::f64, Expand);
196191 setOperationAction(ISD::FSIN , MVT::f32, Expand);
197192 setOperationAction(ISD::FCOS , MVT::f32, Expand);
198193 setOperationAction(ISD::FREM , MVT::f32, Expand);
199 setOperationAction(ISD::FLOG , MVT::f32, Expand);
200 setOperationAction(ISD::FLOG2, MVT::f32, Expand);
201 setOperationAction(ISD::FLOG10,MVT::f32, Expand);
202 setOperationAction(ISD::FEXP , MVT::f32, Expand);
203 setOperationAction(ISD::FEXP2, MVT::f32, Expand);
204194
205195 // If we're enabling GP optimizations, use hardware square root
206196 setOperationAction(ISD::FSQRT, MVT::f64, Expand);
7474 setOperationAction(ISD::FCOS , MVT::f64, Expand);
7575 setOperationAction(ISD::FSQRT, MVT::f64, Expand);
7676 setOperationAction(ISD::FPOW , MVT::f64, Expand);
77 setOperationAction(ISD::FLOG , MVT::f64, Expand);
78 setOperationAction(ISD::FLOG2, MVT::f64, Expand);
79 setOperationAction(ISD::FLOG10,MVT::f64, Expand);
80 setOperationAction(ISD::FEXP , MVT::f64, Expand);
81 setOperationAction(ISD::FEXP2, MVT::f64, Expand);
8277 setOperationAction(ISD::FSIN , MVT::f32, Expand);
8378 setOperationAction(ISD::FCOS , MVT::f32, Expand);
8479 setOperationAction(ISD::FSQRT, MVT::f32, Expand);
8580 setOperationAction(ISD::FPOW , MVT::f32, Expand);
86 setOperationAction(ISD::FLOG , MVT::f32, Expand);
87 setOperationAction(ISD::FLOG2, MVT::f32, Expand);
88 setOperationAction(ISD::FLOG10,MVT::f32, Expand);
89 setOperationAction(ISD::FEXP , MVT::f32, Expand);
90 setOperationAction(ISD::FEXP2, MVT::f32, Expand);
9181
9282 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i1 , Expand);
9383
9898 setOperationAction(ISD::FCOS , MVT::f64, Expand);
9999 setOperationAction(ISD::FREM , MVT::f64, Expand);
100100 setOperationAction(ISD::FPOW , MVT::f64, Expand);
101 setOperationAction(ISD::FLOG , MVT::f64, Expand);
102 setOperationAction(ISD::FLOG2, MVT::f64, Expand);
103 setOperationAction(ISD::FLOG10,MVT::f64, Expand);
104 setOperationAction(ISD::FEXP ,MVT::f64, Expand);
105 setOperationAction(ISD::FEXP2 ,MVT::f64, Expand);
106101 setOperationAction(ISD::FSIN , MVT::f32, Expand);
107102 setOperationAction(ISD::FCOS , MVT::f32, Expand);
108103 setOperationAction(ISD::FREM , MVT::f32, Expand);
109104 setOperationAction(ISD::FPOW , MVT::f32, Expand);
110 setOperationAction(ISD::FLOG , MVT::f32, Expand);
111 setOperationAction(ISD::FLOG2 ,MVT::f32, Expand);
112 setOperationAction(ISD::FLOG10,MVT::f32, Expand);
113 setOperationAction(ISD::FEXP ,MVT::f32, Expand);
114 setOperationAction(ISD::FEXP2 ,MVT::f32, Expand);
115105
116106 setOperationAction(ISD::FLT_ROUNDS_, MVT::i32, Custom);
117107
586586 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Expand);
587587 setOperationAction(ISD::FPOW , MVT::f64, Expand);
588588 setOperationAction(ISD::FPOW , MVT::f32, Expand);
589 setOperationAction(ISD::FLOG , MVT::f64, Expand);
590 setOperationAction(ISD::FLOG , MVT::f32, Expand);
591 setOperationAction(ISD::FLOG2, MVT::f64, Expand);
592 setOperationAction(ISD::FLOG2, MVT::f32, Expand);
593 setOperationAction(ISD::FLOG10, MVT::f64, Expand);
594 setOperationAction(ISD::FLOG10, MVT::f32, Expand);
595 setOperationAction(ISD::FEXP , MVT::f64, Expand);
596 setOperationAction(ISD::FEXP , MVT::f32, Expand);
597 setOperationAction(ISD::FEXP2, MVT::f64, Expand);
598 setOperationAction(ISD::FEXP2, MVT::f32, Expand);
599589
600590 setOperationAction(ISD::SHL_PARTS, MVT::i32, Expand);
601591 setOperationAction(ISD::SRA_PARTS, MVT::i32, Expand);
493493 setOperationAction(ISD::FPOW , MVT::f64 , Expand);
494494 setOperationAction(ISD::FPOW , MVT::f80 , Expand);
495495
496 setOperationAction(ISD::FLOG, MVT::f32, Expand);
497 setOperationAction(ISD::FLOG, MVT::f64, Expand);
498496 setOperationAction(ISD::FLOG, MVT::f80, Expand);
499 setOperationAction(ISD::FLOG2, MVT::f32, Expand);
500 setOperationAction(ISD::FLOG2, MVT::f64, Expand);
501497 setOperationAction(ISD::FLOG2, MVT::f80, Expand);
502 setOperationAction(ISD::FLOG10, MVT::f32, Expand);
503 setOperationAction(ISD::FLOG10, MVT::f64, Expand);
504498 setOperationAction(ISD::FLOG10, MVT::f80, Expand);
505 setOperationAction(ISD::FEXP, MVT::f32, Expand);
506 setOperationAction(ISD::FEXP, MVT::f64, Expand);
507499 setOperationAction(ISD::FEXP, MVT::f80, Expand);
508 setOperationAction(ISD::FEXP2, MVT::f32, Expand);
509 setOperationAction(ISD::FEXP2, MVT::f64, Expand);
510500 setOperationAction(ISD::FEXP2, MVT::f80, Expand);
511501
512502 // First set operation action for all vector types to expand. Then we