MCPcopy Create free account
hub / github.com/csyonghe/Spire / OpBinaryInstr

Method OpBinaryInstr

Source/SpireCore/SpirVCodeGen.cpp:1113–1202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1111 streamFunctionBody.Add(valueID);
1112 }
1113 void OpBinaryInstr(const int ID, String opStr, const int typeID, const int ID0, const int ID1)
1114 {
1115 sbTextFunctionBody << LR"(%)" << ID << LR"( = )";
1116 sbTextFunctionBody << opStr;
1117 sbTextFunctionBody << LR"( %)" << typeID << LR"( %)" << ID0 << LR"( %)" << ID1 << EndLine;
1118
1119 int opCode = -1;
1120 String opStr_prefix = opStr.SubString(0, 2);
1121 opStr = opStr.SubString(2, opStr.Length() - 2);
1122 if (opStr == "FMu")
1123 opCode = 133;
1124 else if (opStr == "IMu")
1125 opCode = 132;
1126 else if (opStr == "FAdd")
1127 opCode = 129;
1128 else if (opStr == "IAdd")
1129 opCode = 128;
1130 else if (opStr == "UDiv")
1131 opCode = 134;
1132 else if (opStr == "SDiv")
1133 opCode = 135;
1134 else if (opStr == "FDiv")
1135 opCode = 136;
1136 else if (opStr == "FSub")
1137 opCode = 131;
1138 else if (opStr == "ISub")
1139 opCode = 130;
1140 else if (opStr == "UMod")
1141 opCode = 137;
1142 else if (opStr == "SMod")
1143 opCode = 139;
1144 else if (opStr == "FMod")
1145 opCode = 141;
1146 else if (opStr == "ShiftLeftLogica")
1147 opCode = 196;
1148 else if (opStr == "ShiftRightArithmetic")
1149 opCode = 195;
1150 else if (opStr == "ShiftRightLogica")
1151 opCode = 194;
1152 else if (opStr == "BitwiseXor")
1153 opCode = 198;
1154 else if (opStr == "BitwiseAnd")
1155 opCode = 199;
1156 else if (opStr == "BitwiseOr")
1157 opCode = 197;
1158 else if (opStr == "LogicalAnd")
1159 opCode = 167;
1160 else if (opStr == "LogicalOr")
1161 opCode = 166;
1162 else if (opStr == "INotEqua")
1163 opCode = 171;
1164 else if (opStr == "FOrdNotEqua")
1165 opCode = 182;
1166 else if (opStr == "IEqua")
1167 opCode = 170;
1168 else if (opStr == "FOrdEqua")
1169 opCode = 180;
1170 else if (opStr == "SGreaterThanEqua")

Callers 1

AddInstrBinaryInstrMethod · 0.80

Calls 4

SubStringMethod · 0.80
LengthMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected