| OLD | NEW |
| 1 //===- subzero/src/IceInstARM32.cpp - ARM32 instruction implementation ----===// | 1 //===- subzero/src/IceInstARM32.cpp - ARM32 instruction implementation ----===// |
| 2 // | 2 // |
| 3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 /// | 9 /// |
| 10 /// \file | 10 /// \file |
| (...skipping 1557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1568 break; // Error | 1568 break; // Error |
| 1569 case IceType_v4i1: | 1569 case IceType_v4i1: |
| 1570 case IceType_v8i1: | 1570 case IceType_v8i1: |
| 1571 case IceType_v16i1: | 1571 case IceType_v16i1: |
| 1572 case IceType_v16i8: | 1572 case IceType_v16i8: |
| 1573 case IceType_v8i16: | 1573 case IceType_v8i16: |
| 1574 case IceType_v4i32: | 1574 case IceType_v4i32: |
| 1575 case IceType_v4f32: | 1575 case IceType_v4f32: |
| 1576 assert(CondARM32::isUnconditional(Cond) && | 1576 assert(CondARM32::isUnconditional(Cond) && |
| 1577 "Moves on <4 x f32> must be unconditional!"); | 1577 "Moves on <4 x f32> must be unconditional!"); |
| 1578 assert(SrcTy == DestTy && "Mov on different vector types"); | 1578 // Mov between different Src and Dest types is used for bitcasting vectors. |
| 1579 // We still want to make sure SrcTy is a vector type. |
| 1580 assert(isVectorType(SrcTy) && "Mov between vector and scalar."); |
| 1579 Asm->vorrq(Dest, Src0, Src0); | 1581 Asm->vorrq(Dest, Src0, Src0); |
| 1580 return; | 1582 return; |
| 1581 } | 1583 } |
| 1582 llvm::report_fatal_error("Mov: don't know how to move " + | 1584 llvm::report_fatal_error("Mov: don't know how to move " + |
| 1583 typeIceString(SrcTy) + " to " + | 1585 typeIceString(SrcTy) + " to " + |
| 1584 typeIceString(DestTy)); | 1586 typeIceString(DestTy)); |
| 1585 } | 1587 } |
| 1586 | 1588 |
| 1587 void InstARM32Mov::dump(const Cfg *Func) const { | 1589 void InstARM32Mov::dump(const Cfg *Func) const { |
| 1588 if (!BuildDefs::dump()) | 1590 if (!BuildDefs::dump()) |
| (...skipping 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2780 | 2782 |
| 2781 template class InstARM32FourAddrGPR<InstARM32::Mla>; | 2783 template class InstARM32FourAddrGPR<InstARM32::Mla>; |
| 2782 template class InstARM32FourAddrGPR<InstARM32::Mls>; | 2784 template class InstARM32FourAddrGPR<InstARM32::Mls>; |
| 2783 | 2785 |
| 2784 template class InstARM32CmpLike<InstARM32::Cmn>; | 2786 template class InstARM32CmpLike<InstARM32::Cmn>; |
| 2785 template class InstARM32CmpLike<InstARM32::Cmp>; | 2787 template class InstARM32CmpLike<InstARM32::Cmp>; |
| 2786 template class InstARM32CmpLike<InstARM32::Tst>; | 2788 template class InstARM32CmpLike<InstARM32::Tst>; |
| 2787 | 2789 |
| 2788 } // end of namespace ARM32 | 2790 } // end of namespace ARM32 |
| 2789 } // end of namespace Ice | 2791 } // end of namespace Ice |
| OLD | NEW |