Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Side by Side Diff: src/IceInstARM32.cpp

Issue 1647683002: Add vmov between integers and floats in ARM assembler. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Additional cleanups. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1189 matching lines...) Expand 10 before | Expand all | Expand 10 after
1200 if (!llvm::isa<Variable>(Src0)) 1200 if (!llvm::isa<Variable>(Src0))
1201 // TODO(kschimpf) Handle moving constants into registers. 1201 // TODO(kschimpf) Handle moving constants into registers.
1202 return Asm->setNeedsTextFixup(); 1202 return Asm->setNeedsTextFixup();
1203 1203
1204 // Move register to register. 1204 // Move register to register.
1205 Variable *Dest = getDest(); 1205 Variable *Dest = getDest();
1206 switch (Dest->getType()) { 1206 switch (Dest->getType()) {
1207 default: 1207 default:
1208 // TODO(kschimpf): Fill this out more. 1208 // TODO(kschimpf): Fill this out more.
1209 return Asm->setNeedsTextFixup(); 1209 return Asm->setNeedsTextFixup();
1210 case IceType_i1:
1211 case IceType_i8:
1212 case IceType_i16:
1213 case IceType_i32:
Jim Stichnoth 2016/01/27 22:59:22 If you're planning on eventually listing all of th
Karl 2016/01/27 23:36:42 Because of "preprocessing" before this method is c
1214 assert(Src0->getType() == IceType_f32 && "Expected int to float move");
1215 Asm->vmovrs(Dest, Src0, getPredicate());
1216 return;
1210 case IceType_f32: 1217 case IceType_f32:
1211 switch (Src0->getType()) { 1218 switch (Src0->getType()) {
1212 default: 1219 default:
1213 // TODO(kschimpf): Fill this out more? 1220 assert(false && "Expected float to int move");
1214 return Asm->setNeedsTextFixup(); 1221 return;
1222 case IceType_i1:
1223 case IceType_i8:
1224 case IceType_i16:
1215 case IceType_i32: 1225 case IceType_i32:
1216 return Asm->vmovsr(Dest, Src0, getPredicate()); 1226 return Asm->vmovsr(Dest, Src0, getPredicate());
1217 } 1227 }
1218 } 1228 }
1219 } 1229 }
1220 1230
1221 void InstARM32Mov::emitIASSingleDestSingleSource(const Cfg *Func) const { 1231 void InstARM32Mov::emitIASSingleDestSingleSource(const Cfg *Func) const {
1222 Variable *Dest = getDest(); 1232 Variable *Dest = getDest();
1223 Operand *Src0 = getSrc(0); 1233 Operand *Src0 = getSrc(0);
1224 1234
(...skipping 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after
2373 2383
2374 template class InstARM32FourAddrGPR<InstARM32::Mla>; 2384 template class InstARM32FourAddrGPR<InstARM32::Mla>;
2375 template class InstARM32FourAddrGPR<InstARM32::Mls>; 2385 template class InstARM32FourAddrGPR<InstARM32::Mls>;
2376 2386
2377 template class InstARM32CmpLike<InstARM32::Cmn>; 2387 template class InstARM32CmpLike<InstARM32::Cmn>;
2378 template class InstARM32CmpLike<InstARM32::Cmp>; 2388 template class InstARM32CmpLike<InstARM32::Cmp>;
2379 template class InstARM32CmpLike<InstARM32::Tst>; 2389 template class InstARM32CmpLike<InstARM32::Tst>;
2380 2390
2381 } // end of namespace ARM32 2391 } // end of namespace ARM32
2382 } // end of namespace Ice 2392 } // end of namespace Ice
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698