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

Side by Side Diff: src/s390/assembler-s390.h

Issue 2696343002: s390: optimize for compares (Closed)
Patch Set: add todo Created 3 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 | « src/compiler/s390/instruction-selector-s390.cc ('k') | src/s390/assembler-s390.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after
999 void vfm(DoubleRegister v1, DoubleRegister v2, DoubleRegister v3) { 999 void vfm(DoubleRegister v1, DoubleRegister v2, DoubleRegister v3) {
1000 vfm(v1, v2, v3, static_cast<Condition>(0), static_cast<Condition>(8), 1000 vfm(v1, v2, v3, static_cast<Condition>(0), static_cast<Condition>(8),
1001 static_cast<Condition>(3)); 1001 static_cast<Condition>(3));
1002 } 1002 }
1003 void vfd(DoubleRegister v1, DoubleRegister v2, DoubleRegister v3) { 1003 void vfd(DoubleRegister v1, DoubleRegister v2, DoubleRegister v3) {
1004 vfd(v1, v2, v3, static_cast<Condition>(0), static_cast<Condition>(8), 1004 vfd(v1, v2, v3, static_cast<Condition>(0), static_cast<Condition>(8),
1005 static_cast<Condition>(3)); 1005 static_cast<Condition>(3));
1006 } 1006 }
1007 1007
1008 // S390 instruction sets 1008 // S390 instruction sets
1009 RXE_FORM(cdb);
1010 RXE_FORM(ceb);
1011 RXE_FORM(ddb); 1009 RXE_FORM(ddb);
1012 SS1_FORM(ed); 1010 SS1_FORM(ed);
1013 RRF2_FORM(fidbr); 1011 RRF2_FORM(fidbr);
1014 RI1_FORM(iihh); 1012 RI1_FORM(iihh);
1015 RI1_FORM(iihl); 1013 RI1_FORM(iihl);
1016 RI1_FORM(iilh); 1014 RI1_FORM(iilh);
1017 RI1_FORM(iill); 1015 RI1_FORM(iill);
1018 RSY1_FORM(loc); 1016 RSY1_FORM(loc);
1019 RXE_FORM(mdb); 1017 RXE_FORM(mdb);
1020 SS4_FORM(mvck); 1018 SS4_FORM(mvck);
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1191 void clgebr(Condition m3, Condition m4, Register fixReg, 1189 void clgebr(Condition m3, Condition m4, Register fixReg,
1192 DoubleRegister fltReg); 1190 DoubleRegister fltReg);
1193 void cfdbr(Condition m, Register fixReg, DoubleRegister fltReg); 1191 void cfdbr(Condition m, Register fixReg, DoubleRegister fltReg);
1194 void cgebr(Condition m, Register fixReg, DoubleRegister fltReg); 1192 void cgebr(Condition m, Register fixReg, DoubleRegister fltReg);
1195 void cgdbr(Condition m, Register fixReg, DoubleRegister fltReg); 1193 void cgdbr(Condition m, Register fixReg, DoubleRegister fltReg);
1196 void cfebr(Condition m3, Register fixReg, DoubleRegister fltReg); 1194 void cfebr(Condition m3, Register fixReg, DoubleRegister fltReg);
1197 void cefbr(Condition m3, DoubleRegister fltReg, Register fixReg); 1195 void cefbr(Condition m3, DoubleRegister fltReg, Register fixReg);
1198 1196
1199 // Floating Point Compare Instructions 1197 // Floating Point Compare Instructions
1200 void cdb(DoubleRegister r1, const MemOperand& opnd); 1198 void cdb(DoubleRegister r1, const MemOperand& opnd);
1199 void ceb(DoubleRegister r1, const MemOperand& opnd);
1201 1200
1202 // Floating Point Arithmetic Instructions 1201 // Floating Point Arithmetic Instructions
1203 void adb(DoubleRegister r1, const MemOperand& opnd); 1202 void adb(DoubleRegister r1, const MemOperand& opnd);
1204 void sdb(DoubleRegister r1, const MemOperand& opnd); 1203 void sdb(DoubleRegister r1, const MemOperand& opnd);
1205 void mdb(DoubleRegister r1, const MemOperand& opnd); 1204 void mdb(DoubleRegister r1, const MemOperand& opnd);
1206 void ddb(DoubleRegister r1, const MemOperand& opnd); 1205 void ddb(DoubleRegister r1, const MemOperand& opnd);
1207 void sqdb(DoubleRegister r1, const MemOperand& opnd); 1206 void sqdb(DoubleRegister r1, const MemOperand& opnd);
1208 void ldeb(DoubleRegister r1, const MemOperand& opnd); 1207 void ldeb(DoubleRegister r1, const MemOperand& opnd);
1209 1208
1210 enum FIDBRA_MASK3 { 1209 enum FIDBRA_MASK3 {
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
1463 1462
1464 class EnsureSpace BASE_EMBEDDED { 1463 class EnsureSpace BASE_EMBEDDED {
1465 public: 1464 public:
1466 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } 1465 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); }
1467 }; 1466 };
1468 1467
1469 } // namespace internal 1468 } // namespace internal
1470 } // namespace v8 1469 } // namespace v8
1471 1470
1472 #endif // V8_S390_ASSEMBLER_S390_H_ 1471 #endif // V8_S390_ASSEMBLER_S390_H_
OLDNEW
« no previous file with comments | « src/compiler/s390/instruction-selector-s390.cc ('k') | src/s390/assembler-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698