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

Side by Side Diff: src/IceInstARM32.h

Issue 1639403004: ARM32 vorr lowering (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Alphabetizing 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
« no previous file with comments | « no previous file | src/IceInstARM32.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 Vadd, 424 Vadd,
425 Vand, 425 Vand,
426 Vcmp, 426 Vcmp,
427 Vcvt, 427 Vcvt,
428 Vdiv, 428 Vdiv,
429 Veor, 429 Veor,
430 Vmla, 430 Vmla,
431 Vmls, 431 Vmls,
432 Vmrs, 432 Vmrs,
433 Vmul, 433 Vmul,
434 Vorr,
434 Vsqrt, 435 Vsqrt,
435 Vsub 436 Vsub
436 }; 437 };
437 438
438 static constexpr size_t InstSize = sizeof(uint32_t); 439 static constexpr size_t InstSize = sizeof(uint32_t);
439 440
440 static const char *getWidthString(Type Ty); 441 static const char *getWidthString(Type Ty);
441 static const char *getVecWidthString(Type Ty); 442 static const char *getVecWidthString(Type Ty);
442 static CondARM32::Cond getOppositeCondition(CondARM32::Cond Cond); 443 static CondARM32::Cond getOppositeCondition(CondARM32::Cond Cond);
443 444
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 using InstARM32Sdiv = InstARM32ThreeAddrGPR<InstARM32::Sdiv>; 919 using InstARM32Sdiv = InstARM32ThreeAddrGPR<InstARM32::Sdiv>;
919 using InstARM32Sub = InstARM32ThreeAddrGPR<InstARM32::Sub>; 920 using InstARM32Sub = InstARM32ThreeAddrGPR<InstARM32::Sub>;
920 using InstARM32Udiv = InstARM32ThreeAddrGPR<InstARM32::Udiv>; 921 using InstARM32Udiv = InstARM32ThreeAddrGPR<InstARM32::Udiv>;
921 using InstARM32Vadd = InstARM32ThreeAddrFP<InstARM32::Vadd>; 922 using InstARM32Vadd = InstARM32ThreeAddrFP<InstARM32::Vadd>;
922 using InstARM32Vand = InstARM32ThreeAddrFP<InstARM32::Vand>; 923 using InstARM32Vand = InstARM32ThreeAddrFP<InstARM32::Vand>;
923 using InstARM32Vdiv = InstARM32ThreeAddrFP<InstARM32::Vdiv>; 924 using InstARM32Vdiv = InstARM32ThreeAddrFP<InstARM32::Vdiv>;
924 using InstARM32Veor = InstARM32ThreeAddrFP<InstARM32::Veor>; 925 using InstARM32Veor = InstARM32ThreeAddrFP<InstARM32::Veor>;
925 using InstARM32Vmla = InstARM32FourAddrFP<InstARM32::Vmla>; 926 using InstARM32Vmla = InstARM32FourAddrFP<InstARM32::Vmla>;
926 using InstARM32Vmls = InstARM32FourAddrFP<InstARM32::Vmls>; 927 using InstARM32Vmls = InstARM32FourAddrFP<InstARM32::Vmls>;
927 using InstARM32Vmul = InstARM32ThreeAddrFP<InstARM32::Vmul>; 928 using InstARM32Vmul = InstARM32ThreeAddrFP<InstARM32::Vmul>;
929 using InstARM32Vorr = InstARM32ThreeAddrFP<InstARM32::Vorr>;
928 using InstARM32Vsub = InstARM32ThreeAddrFP<InstARM32::Vsub>; 930 using InstARM32Vsub = InstARM32ThreeAddrFP<InstARM32::Vsub>;
929 using InstARM32Ldr = InstARM32LoadBase<InstARM32::Ldr>; 931 using InstARM32Ldr = InstARM32LoadBase<InstARM32::Ldr>;
930 using InstARM32Ldrex = InstARM32LoadBase<InstARM32::Ldrex>; 932 using InstARM32Ldrex = InstARM32LoadBase<InstARM32::Ldrex>;
931 /// MovT leaves the bottom bits alone so dest is also a source. This helps 933 /// MovT leaves the bottom bits alone so dest is also a source. This helps
932 /// indicate that a previous MovW setting dest is not dead code. 934 /// indicate that a previous MovW setting dest is not dead code.
933 using InstARM32Movt = InstARM32TwoAddrGPR<InstARM32::Movt>; 935 using InstARM32Movt = InstARM32TwoAddrGPR<InstARM32::Movt>;
934 using InstARM32Movw = InstARM32UnaryopGPR<InstARM32::Movw, false>; 936 using InstARM32Movw = InstARM32UnaryopGPR<InstARM32::Movw, false>;
935 using InstARM32Clz = InstARM32UnaryopGPR<InstARM32::Clz, false>; 937 using InstARM32Clz = InstARM32UnaryopGPR<InstARM32::Clz, false>;
936 using InstARM32Mvn = InstARM32UnaryopGPR<InstARM32::Mvn, false>; 938 using InstARM32Mvn = InstARM32UnaryopGPR<InstARM32::Mvn, false>;
937 using InstARM32Rbit = InstARM32UnaryopGPR<InstARM32::Rbit, false>; 939 using InstARM32Rbit = InstARM32UnaryopGPR<InstARM32::Rbit, false>;
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
1439 // violations and link errors. 1441 // violations and link errors.
1440 1442
1441 template <> void InstARM32Ldr::emit(const Cfg *Func) const; 1443 template <> void InstARM32Ldr::emit(const Cfg *Func) const;
1442 template <> void InstARM32Movw::emit(const Cfg *Func) const; 1444 template <> void InstARM32Movw::emit(const Cfg *Func) const;
1443 template <> void InstARM32Movt::emit(const Cfg *Func) const; 1445 template <> void InstARM32Movt::emit(const Cfg *Func) const;
1444 1446
1445 } // end of namespace ARM32 1447 } // end of namespace ARM32
1446 } // end of namespace Ice 1448 } // end of namespace Ice
1447 1449
1448 #endif // SUBZERO_SRC_ICEINSTARM32_H 1450 #endif // SUBZERO_SRC_ICEINSTARM32_H
OLDNEW
« no previous file with comments | « no previous file | src/IceInstARM32.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698