OLD | NEW |
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 715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
726 | 726 |
727 void bc(Condition cond, const MemOperand& opnd) { | 727 void bc(Condition cond, const MemOperand& opnd) { |
728 bc(cond, opnd.getIndexRegister(), | 728 bc(cond, opnd.getIndexRegister(), |
729 opnd.getBaseRegister(), opnd.getDisplacement()); | 729 opnd.getBaseRegister(), opnd.getDisplacement()); |
730 } | 730 } |
731 void bc(Condition cond, Register x2, Register b2, Disp d2) { | 731 void bc(Condition cond, Register x2, Register b2, Disp d2) { |
732 rx_format(BC, cond, x2.code(), b2.code(), d2); | 732 rx_format(BC, cond, x2.code(), b2.code(), d2); |
733 } | 733 } |
734 #undef DECLARE_S390_RX_INSTRUCTIONS | 734 #undef DECLARE_S390_RX_INSTRUCTIONS |
735 | 735 |
| 736 #define DECLARE_S390_RXY_INSTRUCTIONS(name, op_name, op_value) \ |
| 737 template <class R1, class R2> \ |
| 738 inline void name(R1 r1, R2 r2, Register b2, Disp d2) { \ |
| 739 rxy_format(op_name, r1.code(), r2.code(), b2.code(), d2); \ |
| 740 } \ |
| 741 template <class R1> \ |
| 742 inline void name(R1 r1, const MemOperand& opnd) { \ |
| 743 name(r1, opnd.getIndexRegister(), \ |
| 744 opnd.getBaseRegister(), opnd.getDisplacement()); \ |
| 745 } |
| 746 |
| 747 inline void rxy_format(Opcode opcode, int f1, int f2, int f3, int f4) { |
| 748 DCHECK(is_uint16(opcode)); |
| 749 DCHECK(is_int20(f4)); |
| 750 emit6bytes(getfield<uint64_t, 6, 0, 8>(opcode >> 8) | |
| 751 getfield<uint64_t, 6, 8, 12>(f1) | |
| 752 getfield<uint64_t, 6, 12, 16>(f2) | |
| 753 getfield<uint64_t, 6, 16, 20>(f3) | |
| 754 getfield<uint64_t, 6, 20, 32>(f4 & 0x0fff) | |
| 755 getfield<uint64_t, 6, 32, 40>(f4 >> 12) | |
| 756 getfield<uint64_t, 6, 40, 48>(opcode & 0x00ff)); |
| 757 } |
| 758 S390_RXY_A_OPCODE_LIST(DECLARE_S390_RXY_INSTRUCTIONS) |
| 759 |
| 760 void pfd(Condition cond, const MemOperand& opnd) { |
| 761 pfd(cond, opnd.getIndexRegister(), |
| 762 opnd.getBaseRegister(), opnd.getDisplacement()); |
| 763 } |
| 764 void pfd(Condition cond, Register x2, Register b2, Disp d2) { |
| 765 rxy_format(PFD, cond, x2.code(), b2.code(), d2); |
| 766 } |
| 767 #undef DECLARE_S390_RXY_INSTRUCTIONS |
| 768 |
736 // Helper for unconditional branch to Label with update to save register | 769 // Helper for unconditional branch to Label with update to save register |
737 void b(Register r, Label* l) { | 770 void b(Register r, Label* l) { |
738 int32_t halfwords = branch_offset(l) / 2; | 771 int32_t halfwords = branch_offset(l) / 2; |
739 brasl(r, Operand(halfwords)); | 772 brasl(r, Operand(halfwords)); |
740 } | 773 } |
741 | 774 |
742 // Conditional Branch Instruction - Generates either BRC / BRCL | 775 // Conditional Branch Instruction - Generates either BRC / BRCL |
743 void branchOnCond(Condition c, int branch_offset, bool is_bound = false); | 776 void branchOnCond(Condition c, int branch_offset, bool is_bound = false); |
744 | 777 |
745 // Helpers for conditional branch to Label | 778 // Helpers for conditional branch to Label |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
832 const Operand& i5) | 865 const Operand& i5) |
833 | 866 |
834 #define RXE_FORM(name) \ | 867 #define RXE_FORM(name) \ |
835 void name(Register r1, const MemOperand& opnd); \ | 868 void name(Register r1, const MemOperand& opnd); \ |
836 void name(Register r1, Register b2, Register x2, Disp d2) | 869 void name(Register r1, Register b2, Register x2, Disp d2) |
837 | 870 |
838 #define RXF_FORM(name) \ | 871 #define RXF_FORM(name) \ |
839 void name(Register r1, Register r3, const MemOperand& opnd); \ | 872 void name(Register r1, Register r3, const MemOperand& opnd); \ |
840 void name(Register r1, Register r3, Register b2, Register x2, Disp d2) | 873 void name(Register r1, Register r3, Register b2, Register x2, Disp d2) |
841 | 874 |
842 #define RXY_FORM(name) \ | |
843 void name(Register r1, Register x2, Register b2, Disp d2); \ | |
844 void name(Register r1, const MemOperand& opnd) | |
845 | |
846 #define RSI_FORM(name) void name(Register r1, Register r3, const Operand& i) | 875 #define RSI_FORM(name) void name(Register r1, Register r3, const Operand& i) |
847 | 876 |
848 #define RIS_FORM(name) \ | 877 #define RIS_FORM(name) \ |
849 void name(Register r1, Condition m3, Register b4, Disp d4, \ | 878 void name(Register r1, Condition m3, Register b4, Disp d4, \ |
850 const Operand& i2); \ | 879 const Operand& i2); \ |
851 void name(Register r1, const Operand& i2, Condition m3, \ | 880 void name(Register r1, const Operand& i2, Condition m3, \ |
852 const MemOperand& opnd) | 881 const MemOperand& opnd) |
853 | 882 |
854 #define SI_FORM(name) \ | 883 #define SI_FORM(name) \ |
855 void name(const MemOperand& opnd, const Operand& i); \ | 884 void name(const MemOperand& opnd, const Operand& i); \ |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
982 vfd(v1, v2, v3, static_cast<Condition>(0), static_cast<Condition>(8), | 1011 vfd(v1, v2, v3, static_cast<Condition>(0), static_cast<Condition>(8), |
983 static_cast<Condition>(3)); | 1012 static_cast<Condition>(3)); |
984 } | 1013 } |
985 | 1014 |
986 // S390 instruction sets | 1015 // S390 instruction sets |
987 RXE_FORM(cdb); | 1016 RXE_FORM(cdb); |
988 RXE_FORM(ceb); | 1017 RXE_FORM(ceb); |
989 RXE_FORM(ddb); | 1018 RXE_FORM(ddb); |
990 SS1_FORM(ed); | 1019 SS1_FORM(ed); |
991 RRF2_FORM(fidbr); | 1020 RRF2_FORM(fidbr); |
992 RXY_FORM(icy); | |
993 RI1_FORM(iihh); | 1021 RI1_FORM(iihh); |
994 RI1_FORM(iihl); | 1022 RI1_FORM(iihl); |
995 RI1_FORM(iilh); | 1023 RI1_FORM(iilh); |
996 RI1_FORM(iill); | 1024 RI1_FORM(iill); |
997 RXY_FORM(ley); | |
998 RSY1_FORM(loc); | 1025 RSY1_FORM(loc); |
999 RXY_FORM(lrv); | |
1000 RXY_FORM(lrvh); | |
1001 RXY_FORM(lrvg); | |
1002 RXE_FORM(mdb); | 1026 RXE_FORM(mdb); |
1003 SS4_FORM(mvck); | 1027 SS4_FORM(mvck); |
1004 SSF_FORM(mvcos); | 1028 SSF_FORM(mvcos); |
1005 SS4_FORM(mvcs); | 1029 SS4_FORM(mvcs); |
1006 SS1_FORM(mvn); | 1030 SS1_FORM(mvn); |
1007 SS1_FORM(nc); | 1031 SS1_FORM(nc); |
1008 SI_FORM(ni); | 1032 SI_FORM(ni); |
1009 RI1_FORM(nilh); | 1033 RI1_FORM(nilh); |
1010 RI1_FORM(nill); | 1034 RI1_FORM(nill); |
1011 RI1_FORM(oill); | 1035 RI1_FORM(oill); |
1012 RXY_FORM(pfd); | |
1013 RXY_FORM(dsgf); | |
1014 RXY_FORM(msgf); | |
1015 RXY_FORM(dsg); | |
1016 RXE_FORM(sdb); | 1036 RXE_FORM(sdb); |
1017 RXY_FORM(slgf); | |
1018 RS1_FORM(srdl); | 1037 RS1_FORM(srdl); |
1019 RXY_FORM(stey); | |
1020 RXY_FORM(strv); | |
1021 RXY_FORM(strvh); | |
1022 RXY_FORM(strvg); | |
1023 RI1_FORM(tmll); | 1038 RI1_FORM(tmll); |
1024 SS1_FORM(tr); | 1039 SS1_FORM(tr); |
1025 S_FORM(ts); | 1040 S_FORM(ts); |
1026 | 1041 |
1027 // Load Address Instructions | 1042 // Load Address Instructions |
1028 void lay(Register r, const MemOperand& opnd); | |
1029 void larl(Register r, Label* l); | 1043 void larl(Register r, Label* l); |
1030 | 1044 |
1031 // Load Instructions | 1045 // Load Instructions |
1032 void lb(Register r, const MemOperand& src); | |
1033 void lgb(Register r, const MemOperand& src); | |
1034 void lhy(Register r, const MemOperand& src); | |
1035 void lgh(Register r, const MemOperand& src); | |
1036 void ly(Register r, const MemOperand& src); | |
1037 void lg(Register r, const MemOperand& src); | |
1038 void lgf(Register r, const MemOperand& src); | |
1039 void lhi(Register r, const Operand& imm); | 1046 void lhi(Register r, const Operand& imm); |
1040 void lghi(Register r, const Operand& imm); | 1047 void lghi(Register r, const Operand& imm); |
1041 | 1048 |
1042 // Load And Test Instructions | |
1043 void lt_z(Register r, const MemOperand& src); | |
1044 void ltg(Register r, const MemOperand& src); | |
1045 | |
1046 // Load Logical Instructions | |
1047 void llc(Register r, const MemOperand& src); | |
1048 void llgc(Register r, const MemOperand& src); | |
1049 void llgf(Register r, const MemOperand& src); | |
1050 void llh(Register r, const MemOperand& src); | |
1051 void llgh(Register r, const MemOperand& src); | |
1052 | |
1053 // Load Multiple Instructions | 1049 // Load Multiple Instructions |
1054 void lm(Register r1, Register r2, const MemOperand& src); | 1050 void lm(Register r1, Register r2, const MemOperand& src); |
1055 void lmy(Register r1, Register r2, const MemOperand& src); | 1051 void lmy(Register r1, Register r2, const MemOperand& src); |
1056 void lmg(Register r1, Register r2, const MemOperand& src); | 1052 void lmg(Register r1, Register r2, const MemOperand& src); |
1057 | 1053 |
1058 // Load On Condition Instructions | 1054 // Load On Condition Instructions |
1059 void locr(Condition m3, Register r1, Register r2); | 1055 void locr(Condition m3, Register r1, Register r2); |
1060 void locgr(Condition m3, Register r1, Register r2); | 1056 void locgr(Condition m3, Register r1, Register r2); |
1061 void loc(Condition m3, Register r1, const MemOperand& src); | 1057 void loc(Condition m3, Register r1, const MemOperand& src); |
1062 void locg(Condition m3, Register r1, const MemOperand& src); | 1058 void locg(Condition m3, Register r1, const MemOperand& src); |
1063 | 1059 |
1064 // Store Instructions | 1060 // Store Instructions |
1065 void stcy(Register r, const MemOperand& src); | |
1066 void stg(Register r, const MemOperand& src); | |
1067 void sthy(Register r, const MemOperand& src); | |
1068 void sty(Register r, const MemOperand& src); | |
1069 | 1061 |
1070 // Store Multiple Instructions | 1062 // Store Multiple Instructions |
1071 void stm(Register r1, Register r2, const MemOperand& src); | 1063 void stm(Register r1, Register r2, const MemOperand& src); |
1072 void stmy(Register r1, Register r2, const MemOperand& src); | 1064 void stmy(Register r1, Register r2, const MemOperand& src); |
1073 void stmg(Register r1, Register r2, const MemOperand& src); | 1065 void stmg(Register r1, Register r2, const MemOperand& src); |
1074 | 1066 |
1075 // Compare Instructions | 1067 // Compare Instructions |
1076 void cy(Register r, const MemOperand& opnd); | |
1077 void cg(Register r, const MemOperand& opnd); | |
1078 void chy(Register r, const MemOperand& opnd); | |
1079 void chi(Register r, const Operand& opnd); | 1068 void chi(Register r, const Operand& opnd); |
1080 void cghi(Register r, const Operand& opnd); | 1069 void cghi(Register r, const Operand& opnd); |
1081 | 1070 |
1082 // Compare Logical Instructions | 1071 // Compare Logical Instructions |
1083 void cly(Register r, const MemOperand& opnd); | |
1084 void clg(Register r, const MemOperand& opnd); | |
1085 void cli(const MemOperand& mem, const Operand& imm); | 1072 void cli(const MemOperand& mem, const Operand& imm); |
1086 void cliy(const MemOperand& mem, const Operand& imm); | 1073 void cliy(const MemOperand& mem, const Operand& imm); |
1087 void clc(const MemOperand& opnd1, const MemOperand& opnd2, Length length); | 1074 void clc(const MemOperand& opnd1, const MemOperand& opnd2, Length length); |
1088 | 1075 |
1089 // Test Under Mask Instructions | 1076 // Test Under Mask Instructions |
1090 void tm(const MemOperand& mem, const Operand& imm); | 1077 void tm(const MemOperand& mem, const Operand& imm); |
1091 void tmy(const MemOperand& mem, const Operand& imm); | 1078 void tmy(const MemOperand& mem, const Operand& imm); |
1092 | 1079 |
1093 // Rotate Instructions | 1080 // Rotate Instructions |
1094 void rll(Register r1, Register r3, Register opnd); | 1081 void rll(Register r1, Register r3, Register opnd); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1136 const Operand& endBit, const Operand& shiftAmt, | 1123 const Operand& endBit, const Operand& shiftAmt, |
1137 bool zeroBits = true); | 1124 bool zeroBits = true); |
1138 void risbgn(Register dst, Register src, const Operand& startBit, | 1125 void risbgn(Register dst, Register src, const Operand& startBit, |
1139 const Operand& endBit, const Operand& shiftAmt, | 1126 const Operand& endBit, const Operand& shiftAmt, |
1140 bool zeroBits = true); | 1127 bool zeroBits = true); |
1141 | 1128 |
1142 // Move Character (Mem to Mem) | 1129 // Move Character (Mem to Mem) |
1143 void mvc(const MemOperand& opnd1, const MemOperand& opnd2, uint32_t length); | 1130 void mvc(const MemOperand& opnd1, const MemOperand& opnd2, uint32_t length); |
1144 | 1131 |
1145 // Branch Instructions | 1132 // Branch Instructions |
1146 void bctg(Register r, const MemOperand& opnd); | |
1147 void bras(Register r, const Operand& opnd); | 1133 void bras(Register r, const Operand& opnd); |
1148 void brc(Condition c, const Operand& opnd); | 1134 void brc(Condition c, const Operand& opnd); |
1149 void brct(Register r1, const Operand& opnd); | 1135 void brct(Register r1, const Operand& opnd); |
1150 void brctg(Register r1, const Operand& opnd); | 1136 void brctg(Register r1, const Operand& opnd); |
1151 | 1137 |
1152 // 32-bit Add Instructions | 1138 // 32-bit Add Instructions |
1153 void ay(Register r1, const MemOperand& opnd); | |
1154 void ahy(Register r1, const MemOperand& opnd); | |
1155 void ahi(Register r1, const Operand& opnd); | 1139 void ahi(Register r1, const Operand& opnd); |
1156 void ahik(Register r1, Register r3, const Operand& opnd); | 1140 void ahik(Register r1, Register r3, const Operand& opnd); |
1157 void ark(Register r1, Register r2, Register r3); | 1141 void ark(Register r1, Register r2, Register r3); |
1158 void asi(const MemOperand&, const Operand&); | 1142 void asi(const MemOperand&, const Operand&); |
1159 | 1143 |
1160 // 64-bit Add Instructions | 1144 // 64-bit Add Instructions |
1161 void ag(Register r1, const MemOperand& opnd); | |
1162 void agf(Register r1, const MemOperand& opnd); | |
1163 void aghi(Register r1, const Operand& opnd); | 1145 void aghi(Register r1, const Operand& opnd); |
1164 void aghik(Register r1, Register r3, const Operand& opnd); | 1146 void aghik(Register r1, Register r3, const Operand& opnd); |
1165 void agrk(Register r1, Register r2, Register r3); | 1147 void agrk(Register r1, Register r2, Register r3); |
1166 void agsi(const MemOperand&, const Operand&); | 1148 void agsi(const MemOperand&, const Operand&); |
1167 | 1149 |
1168 // 32-bit Add Logical Instructions | 1150 // 32-bit Add Logical Instructions |
1169 void aly(Register r1, const MemOperand& opnd); | |
1170 void alrk(Register r1, Register r2, Register r3); | 1151 void alrk(Register r1, Register r2, Register r3); |
1171 | 1152 |
1172 // 64-bit Add Logical Instructions | 1153 // 64-bit Add Logical Instructions |
1173 void alg(Register r1, const MemOperand& opnd); | |
1174 void algrk(Register r1, Register r2, Register r3); | 1154 void algrk(Register r1, Register r2, Register r3); |
1175 | 1155 |
1176 // 32-bit Subtract Instructions | 1156 // 32-bit Subtract Instructions |
1177 void sy(Register r1, const MemOperand& opnd); | |
1178 void shy(Register r1, const MemOperand& opnd); | |
1179 void srk(Register r1, Register r2, Register r3); | 1157 void srk(Register r1, Register r2, Register r3); |
1180 | 1158 |
1181 // 64-bit Subtract Instructions | 1159 // 64-bit Subtract Instructions |
1182 void sg(Register r1, const MemOperand& opnd); | |
1183 void sgf(Register r1, const MemOperand& opnd); | |
1184 void sgrk(Register r1, Register r2, Register r3); | 1160 void sgrk(Register r1, Register r2, Register r3); |
1185 | 1161 |
1186 // 32-bit Subtract Logical Instructions | 1162 // 32-bit Subtract Logical Instructions |
1187 void sly(Register r1, const MemOperand& opnd); | |
1188 void slrk(Register r1, Register r2, Register r3); | 1163 void slrk(Register r1, Register r2, Register r3); |
1189 | 1164 |
1190 // 64-bit Subtract Logical Instructions | 1165 // 64-bit Subtract Logical Instructions |
1191 void slg(Register r1, const MemOperand& opnd); | |
1192 void slgrk(Register r1, Register r2, Register r3); | 1166 void slgrk(Register r1, Register r2, Register r3); |
1193 | 1167 |
1194 // 32-bit Multiply Instructions | 1168 // 32-bit Multiply Instructions |
1195 void mfy(Register r1, const MemOperand& opnd); | |
1196 void ml(Register r1, const MemOperand& opnd); | |
1197 void msy(Register r1, const MemOperand& opnd); | |
1198 void mhy(Register r1, const MemOperand& opnd); | |
1199 void mhi(Register r1, const Operand& opnd); | 1169 void mhi(Register r1, const Operand& opnd); |
1200 | 1170 |
1201 // 64-bit Multiply Instructions | 1171 // 64-bit Multiply Instructions |
1202 void mlg(Register r1, const MemOperand& opnd); | |
1203 void mghi(Register r1, const Operand& opnd); | 1172 void mghi(Register r1, const Operand& opnd); |
1204 void msg(Register r1, const MemOperand& opnd); | |
1205 | |
1206 // 32-bit Divide Instructions | |
1207 void dl(Register r1, const MemOperand& opnd); | |
1208 | 1173 |
1209 // Bitwise Instructions (AND / OR / XOR) | 1174 // Bitwise Instructions (AND / OR / XOR) |
1210 void ny(Register r1, const MemOperand& opnd); | |
1211 void nrk(Register r1, Register r2, Register r3); | 1175 void nrk(Register r1, Register r2, Register r3); |
1212 void ng(Register r1, const MemOperand& opnd); | |
1213 void ngrk(Register r1, Register r2, Register r3); | 1176 void ngrk(Register r1, Register r2, Register r3); |
1214 void oy(Register r1, const MemOperand& opnd); | |
1215 void ork(Register r1, Register r2, Register r3); | 1177 void ork(Register r1, Register r2, Register r3); |
1216 void og(Register r1, const MemOperand& opnd); | |
1217 void ogrk(Register r1, Register r2, Register r3); | 1178 void ogrk(Register r1, Register r2, Register r3); |
1218 void xy(Register r1, const MemOperand& opnd); | |
1219 void xrk(Register r1, Register r2, Register r3); | 1179 void xrk(Register r1, Register r2, Register r3); |
1220 void xg(Register r1, const MemOperand& opnd); | |
1221 void xgrk(Register r1, Register r2, Register r3); | 1180 void xgrk(Register r1, Register r2, Register r3); |
1222 void xc(const MemOperand& opnd1, const MemOperand& opnd2, Length length); | 1181 void xc(const MemOperand& opnd1, const MemOperand& opnd2, Length length); |
1223 | 1182 |
1224 // Floating Point Load / Store Instructions | |
1225 void ldy(DoubleRegister r1, const MemOperand& opnd); | |
1226 void ley(DoubleRegister r1, const MemOperand& opnd); | |
1227 void stdy(DoubleRegister r1, const MemOperand& opnd); | |
1228 void stey(DoubleRegister r1, const MemOperand& opnd); | |
1229 | |
1230 // Floating <-> Fixed Point Conversion Instructions | 1183 // Floating <-> Fixed Point Conversion Instructions |
1231 void cdlfbr(Condition m3, Condition m4, DoubleRegister fltReg, | 1184 void cdlfbr(Condition m3, Condition m4, DoubleRegister fltReg, |
1232 Register fixReg); | 1185 Register fixReg); |
1233 void cdlgbr(Condition m3, Condition m4, DoubleRegister fltReg, | 1186 void cdlgbr(Condition m3, Condition m4, DoubleRegister fltReg, |
1234 Register fixReg); | 1187 Register fixReg); |
1235 void celgbr(Condition m3, Condition m4, DoubleRegister fltReg, | 1188 void celgbr(Condition m3, Condition m4, DoubleRegister fltReg, |
1236 Register fixReg); | 1189 Register fixReg); |
1237 void celfbr(Condition m3, Condition m4, DoubleRegister fltReg, | 1190 void celfbr(Condition m3, Condition m4, DoubleRegister fltReg, |
1238 Register fixReg); | 1191 Register fixReg); |
1239 void clfdbr(Condition m3, Condition m4, Register fixReg, | 1192 void clfdbr(Condition m3, Condition m4, Register fixReg, |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1475 const Disp d2); | 1428 const Disp d2); |
1476 inline void rsy_form(Opcode op, Register r1, Condition m3, Register b2, | 1429 inline void rsy_form(Opcode op, Register r1, Condition m3, Register b2, |
1477 const Disp d2); | 1430 const Disp d2); |
1478 | 1431 |
1479 inline void rxe_form(Opcode op, Register r1, Register x2, Register b2, | 1432 inline void rxe_form(Opcode op, Register r1, Register x2, Register b2, |
1480 Disp d2); | 1433 Disp d2); |
1481 | 1434 |
1482 inline void rxf_form(Opcode op, Register r1, Register r3, Register b2, | 1435 inline void rxf_form(Opcode op, Register r1, Register r3, Register b2, |
1483 Register x2, Disp d2); | 1436 Register x2, Disp d2); |
1484 | 1437 |
1485 inline void rxy_form(Opcode op, Register r1, Register x2, Register b2, | |
1486 Disp d2); | |
1487 inline void rxy_form(Opcode op, Register r1, Condition m3, Register b2, | |
1488 Disp d2); | |
1489 inline void rxy_form(Opcode op, DoubleRegister r1, Register x2, Register b2, | |
1490 Disp d2); | |
1491 | |
1492 inline void s_form(Opcode op, Register b1, Disp d2); | 1438 inline void s_form(Opcode op, Register b1, Disp d2); |
1493 | 1439 |
1494 inline void si_form(Opcode op, const Operand& i2, Register b1, Disp d1); | 1440 inline void si_form(Opcode op, const Operand& i2, Register b1, Disp d1); |
1495 inline void siy_form(Opcode op, const Operand& i2, Register b1, Disp d1); | 1441 inline void siy_form(Opcode op, const Operand& i2, Register b1, Disp d1); |
1496 | 1442 |
1497 inline void sil_form(Opcode op, Register b1, Disp d1, const Operand& i2); | 1443 inline void sil_form(Opcode op, Register b1, Disp d1, const Operand& i2); |
1498 | 1444 |
1499 inline void ss_form(Opcode op, Length l, Register b1, Disp d1, Register b2, | 1445 inline void ss_form(Opcode op, Length l, Register b1, Disp d1, Register b2, |
1500 Disp d2); | 1446 Disp d2); |
1501 inline void ss_form(Opcode op, Length l1, Length l2, Register b1, Disp d1, | 1447 inline void ss_form(Opcode op, Length l1, Length l2, Register b1, Disp d1, |
(...skipping 22 matching lines...) Expand all Loading... |
1524 | 1470 |
1525 class EnsureSpace BASE_EMBEDDED { | 1471 class EnsureSpace BASE_EMBEDDED { |
1526 public: | 1472 public: |
1527 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } | 1473 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } |
1528 }; | 1474 }; |
1529 | 1475 |
1530 } // namespace internal | 1476 } // namespace internal |
1531 } // namespace v8 | 1477 } // namespace v8 |
1532 | 1478 |
1533 #endif // V8_S390_ASSEMBLER_S390_H_ | 1479 #endif // V8_S390_ASSEMBLER_S390_H_ |
OLD | NEW |