I was sure I had thought about this and there was a reason it should work.
authorAndrew Lenharth <andrewl@lenharth.org>
Sat, 30 Apr 2005 14:19:13 +0000 (14:19 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Sat, 30 Apr 2005 14:19:13 +0000 (14:19 +0000)
But it is entirely possible I am just crazy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21640 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Alpha/AlphaISelPattern.cpp

index 819d94fa77605aae1185c79ff8ba58d80b097f5b..574f8644eeb29c8baf2cd314f7c031385e3086e9 100644 (file)
@@ -1199,13 +1199,14 @@ unsigned ISel::SelectExpr(SDOperand N) {
     }
   }
 
-  if (DestType == MVT::f64 || DestType == MVT::f32 ||
-      (
-       (opcode == ISD::LOAD || opcode == ISD::CopyFromReg ||
-        opcode == ISD::EXTLOAD) &&
-       (N.getValue(0).getValueType() == MVT::f32 ||
-        N.getValue(0).getValueType() == MVT::f64)
-       )
+  if ((DestType == MVT::f64 || DestType == MVT::f32 ||
+       (
+        (opcode == ISD::LOAD || opcode == ISD::CopyFromReg ||
+         opcode == ISD::EXTLOAD) &&
+        (N.getValue(0).getValueType() == MVT::f32 ||
+         N.getValue(0).getValueType() == MVT::f64)
+       ))
+       && opcode != ISD::CALL
       )
     return SelectExprFP(N, Result);