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);