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

Side by Side Diff: src/IceInstARM32.h

Issue 1564393002: Add VCMP{s,sz,d,dz} Instructions to ARM integrated assembler. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix nits. Created 4 years, 11 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.h - ARM32 machine instructions --*- C++ -*-===// 1 //===- subzero/src/IceInstARM32.h - ARM32 machine instructions --*- C++ -*-===//
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 1289 matching lines...) Expand 10 before | Expand all | Expand 10 after
1300 return new (Func->allocate<InstARM32Vcmp>()) 1300 return new (Func->allocate<InstARM32Vcmp>())
1301 InstARM32Vcmp(Func, Src0, Src1, Predicate); 1301 InstARM32Vcmp(Func, Src0, Src1, Predicate);
1302 } 1302 }
1303 static InstARM32Vcmp *create(Cfg *Func, Variable *Src0, 1303 static InstARM32Vcmp *create(Cfg *Func, Variable *Src0,
1304 OperandARM32FlexFpZero *Src1, 1304 OperandARM32FlexFpZero *Src1,
1305 CondARM32::Cond Predicate) { 1305 CondARM32::Cond Predicate) {
1306 return new (Func->allocate<InstARM32Vcmp>()) 1306 return new (Func->allocate<InstARM32Vcmp>())
1307 InstARM32Vcmp(Func, Src0, Src1, Predicate); 1307 InstARM32Vcmp(Func, Src0, Src1, Predicate);
1308 } 1308 }
1309 void emit(const Cfg *Func) const override; 1309 void emit(const Cfg *Func) const override;
1310 void emitIAS(const Cfg *Func) const override;
1310 void dump(const Cfg *Func) const override; 1311 void dump(const Cfg *Func) const override;
1311 static bool classof(const Inst *Inst) { return isClassof(Inst, Vcmp); } 1312 static bool classof(const Inst *Inst) { return isClassof(Inst, Vcmp); }
1312 1313
1313 private: 1314 private:
1314 InstARM32Vcmp(Cfg *Func, Variable *Src0, Operand *Src1, 1315 InstARM32Vcmp(Cfg *Func, Variable *Src0, Operand *Src1,
1315 CondARM32::Cond Predicate); 1316 CondARM32::Cond Predicate);
1316 }; 1317 };
1317 1318
1318 /// Copies the FP Status and Control Register the core flags. 1319 /// Copies the FP Status and Control Register the core flags.
1319 class InstARM32Vmrs final : public InstARM32Pred { 1320 class InstARM32Vmrs final : public InstARM32Pred {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1376 // violations and link errors. 1377 // violations and link errors.
1377 1378
1378 template <> void InstARM32Ldr::emit(const Cfg *Func) const; 1379 template <> void InstARM32Ldr::emit(const Cfg *Func) const;
1379 template <> void InstARM32Movw::emit(const Cfg *Func) const; 1380 template <> void InstARM32Movw::emit(const Cfg *Func) const;
1380 template <> void InstARM32Movt::emit(const Cfg *Func) const; 1381 template <> void InstARM32Movt::emit(const Cfg *Func) const;
1381 1382
1382 } // end of namespace ARM32 1383 } // end of namespace ARM32
1383 } // end of namespace Ice 1384 } // end of namespace Ice
1384 1385
1385 #endif // SUBZERO_SRC_ICEINSTARM32_H 1386 #endif // SUBZERO_SRC_ICEINSTARM32_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698