[PATCH] D72189: [SystemZ] Support -msoft-float

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 31 12:35:35 PST 2020


jonpa added inline comments.


================
Comment at: llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:1176
     }
     if (Constraint[1] == 'v') {
       if (VT == MVT::f32)
----------------
uweigand wrote:
> This should have "&& Subtarget.hasVector()" here.  Shouldn't that fix the problem with {v}?
> 
> If it does not, I agree this can wait for another patch.
For some reason, the compilation then aborts with an assert if that constraint has been specified with either -vector or soft-float, so I think it should wait for a separate patch.



================
Comment at: llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp:57
+  if (FS.contains("+soft-float"))
+    VectorABI = true;
+
----------------
uweigand wrote:
> No, VectorABI = false then.
> 
> Also, should you look for "soft-float" and "-soft-float", just as is done for "vector" above?
With the clang driver, it seems that
-mhard-float after -msoft-float works to cancel the first argument. 
-mno-soft-float is not recognized here / handled (by any target) (warning: unused)
-mno-hard-float is not even allowed (error)

With the features arguments (-target-feature / -mattr), it however works the same as with the 'vector' feature, so it makes sense to handle it the same way.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72189/new/

https://reviews.llvm.org/D72189





More information about the llvm-commits mailing list