legalize readio/writeio into load/stores, fixing CodeGen/X86/io.llx with
the pattern isel.
llvm-svn: 21828
diff --git a/llvm/lib/Target/X86/X86ISelPattern.cpp b/llvm/lib/Target/X86/X86ISelPattern.cpp
index d4b2b1a..584d4af 100644
--- a/llvm/lib/Target/X86/X86ISelPattern.cpp
+++ b/llvm/lib/Target/X86/X86ISelPattern.cpp
@@ -70,6 +70,15 @@
setOperationAction(ISD::CTTZ , MVT::i32 , Expand);
setOperationAction(ISD::CTLZ , MVT::i32 , Expand);
+ setOperationAction(ISD::READIO , MVT::i1 , Expand);
+ setOperationAction(ISD::READIO , MVT::i8 , Expand);
+ setOperationAction(ISD::READIO , MVT::i16 , Expand);
+ setOperationAction(ISD::READIO , MVT::i32 , Expand);
+ setOperationAction(ISD::WRITEIO , MVT::i1 , Expand);
+ setOperationAction(ISD::WRITEIO , MVT::i8 , Expand);
+ setOperationAction(ISD::WRITEIO , MVT::i16 , Expand);
+ setOperationAction(ISD::WRITEIO , MVT::i32 , Expand);
+
if (!UnsafeFPMath) {
setOperationAction(ISD::FSIN , MVT::f64 , Expand);
setOperationAction(ISD::FCOS , MVT::f64 , Expand);