[SystemZ] Fix expansion of ISD::FPOW and ISD::FSINCOS
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Mon, 21 Sep 2015 17:35:45 +0000 (17:35 +0000)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Mon, 21 Sep 2015 17:35:45 +0000 (17:35 +0000)
commiteeec957a3db361f66f5d2a9c7c4dd29a81bb02a9
tree75a2f4a0d3ba1884c655d0c38bf94df907589753
parent7d3733cd0d7e53e5da54ab88a859258b69cf4bd4
[SystemZ] Fix expansion of ISD::FPOW and ISD::FSINCOS

The ISD::FPOW and ISD::FSINCOS opcodes default to Legal, but there
is no legal instruction for those on SystemZ.  This could cause
LLVM internal errors.  Fixed by setting the operation action to
Expand for those opcodes.

Also added test cases for all other LLVM IR intrinsics that should
generate a library call.  (Those already work correctly since the
default operation action is fine.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248180 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/SystemZ/SystemZISelLowering.cpp
test/CodeGen/SystemZ/fp-libcall.ll [new file with mode: 0644]
test/CodeGen/SystemZ/fp-sincos-01.ll [new file with mode: 0644]