- FIRST_BINARY_INST( 6)
-HANDLE_BINARY_INST( 6, Add , GenericBinaryInst)
-HANDLE_BINARY_INST( 7, Sub , GenericBinaryInst)
-HANDLE_BINARY_INST( 8, Mul , GenericBinaryInst)
-HANDLE_BINARY_INST( 9, Div , GenericBinaryInst)
-HANDLE_BINARY_INST(10, Rem , GenericBinaryInst)
-
-// Logical operators...
-HANDLE_BINARY_INST(11, And , GenericBinaryInst)
-HANDLE_BINARY_INST(12, Or , GenericBinaryInst)
-HANDLE_BINARY_INST(13, Xor , GenericBinaryInst)
-
-// Binary comparison operators...
-HANDLE_BINARY_INST(14, SetEQ , SetCondInst)
-HANDLE_BINARY_INST(15, SetNE , SetCondInst)
-HANDLE_BINARY_INST(16, SetLE , SetCondInst)
-HANDLE_BINARY_INST(17, SetGE , SetCondInst)
-HANDLE_BINARY_INST(18, SetLT , SetCondInst)
-HANDLE_BINARY_INST(19, SetGT , SetCondInst)
- LAST_BINARY_INST(19)
+ FIRST_BINARY_INST( 8)
+HANDLE_BINARY_INST( 8, Add , BinaryOperator)
+HANDLE_BINARY_INST( 9, FAdd , BinaryOperator)
+HANDLE_BINARY_INST(10, Sub , BinaryOperator)
+HANDLE_BINARY_INST(11, FSub , BinaryOperator)
+HANDLE_BINARY_INST(12, Mul , BinaryOperator)
+HANDLE_BINARY_INST(13, FMul , BinaryOperator)
+HANDLE_BINARY_INST(14, UDiv , BinaryOperator)
+HANDLE_BINARY_INST(15, SDiv , BinaryOperator)
+HANDLE_BINARY_INST(16, FDiv , BinaryOperator)
+HANDLE_BINARY_INST(17, URem , BinaryOperator)
+HANDLE_BINARY_INST(18, SRem , BinaryOperator)
+HANDLE_BINARY_INST(19, FRem , BinaryOperator)
+
+// Logical operators (integer operands)
+HANDLE_BINARY_INST(20, Shl , BinaryOperator) // Shift left (logical)
+HANDLE_BINARY_INST(21, LShr , BinaryOperator) // Shift right (logical)
+HANDLE_BINARY_INST(22, AShr , BinaryOperator) // Shift right (arithmetic)
+HANDLE_BINARY_INST(23, And , BinaryOperator)
+HANDLE_BINARY_INST(24, Or , BinaryOperator)
+HANDLE_BINARY_INST(25, Xor , BinaryOperator)
+ LAST_BINARY_INST(25)