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 1808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1819 Str << "\t" | 1819 Str << "\t" |
1820 "vcvt" << getPredicate() << vcvtVariantSuffix(Variant) << "\t"; | 1820 "vcvt" << getPredicate() << vcvtVariantSuffix(Variant) << "\t"; |
1821 getDest()->emit(Func); | 1821 getDest()->emit(Func); |
1822 Str << ", "; | 1822 Str << ", "; |
1823 getSrc(0)->emit(Func); | 1823 getSrc(0)->emit(Func); |
1824 } | 1824 } |
1825 | 1825 |
1826 void InstARM32Vcvt::emitIAS(const Cfg *Func) const { | 1826 void InstARM32Vcvt::emitIAS(const Cfg *Func) const { |
1827 auto *Asm = Func->getAssembler<ARM32::AssemblerARM32>(); | 1827 auto *Asm = Func->getAssembler<ARM32::AssemblerARM32>(); |
1828 switch (Variant) { | 1828 switch (Variant) { |
| 1829 case S2si: |
| 1830 Asm->vcvtis(getDest(), getSrc(0), getPredicate()); |
| 1831 break; |
1829 case S2d: | 1832 case S2d: |
1830 Asm->vcvtds(getDest(), getSrc(0), getPredicate()); | 1833 Asm->vcvtds(getDest(), getSrc(0), getPredicate()); |
1831 break; | 1834 break; |
1832 case D2s: | 1835 case D2s: |
1833 Asm->vcvtsd(getDest(), getSrc(0), getPredicate()); | 1836 Asm->vcvtsd(getDest(), getSrc(0), getPredicate()); |
1834 break; | 1837 break; |
1835 default: | 1838 default: |
1836 // TODO(kschimpf): Fill in other variants. | 1839 // TODO(kschimpf): Fill in other variants. |
1837 Asm->setNeedsTextFixup(); | 1840 Asm->setNeedsTextFixup(); |
1838 break; | 1841 break; |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2216 | 2219 |
2217 template class InstARM32FourAddrGPR<InstARM32::Mla>; | 2220 template class InstARM32FourAddrGPR<InstARM32::Mla>; |
2218 template class InstARM32FourAddrGPR<InstARM32::Mls>; | 2221 template class InstARM32FourAddrGPR<InstARM32::Mls>; |
2219 | 2222 |
2220 template class InstARM32CmpLike<InstARM32::Cmn>; | 2223 template class InstARM32CmpLike<InstARM32::Cmn>; |
2221 template class InstARM32CmpLike<InstARM32::Cmp>; | 2224 template class InstARM32CmpLike<InstARM32::Cmp>; |
2222 template class InstARM32CmpLike<InstARM32::Tst>; | 2225 template class InstARM32CmpLike<InstARM32::Tst>; |
2223 | 2226 |
2224 } // end of namespace ARM32 | 2227 } // end of namespace ARM32 |
2225 } // end of namespace Ice | 2228 } // end of namespace Ice |
OLD | NEW |