Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
/* Opertaions for lower_64bit_integer_instructions() */
#define MUL64 (1U << 0)
+#define SIGN64 (1U << 1)
/**
* \see class lower_packing_builtins_visitor
assert(ir != NULL);
switch (ir->operation) {
+ case ir_unop_sign:
+ if (lowering(SIGN64)) {
+ *rvalue = handle_op(ir, "__builtin_sign64", generate_ir::sign64);
+ this->progress = true;
+ }
+ break;
+
case ir_binop_mul:
if (lowering(MUL64)) {
*rvalue = handle_op(ir, "__builtin_umul64", generate_ir::umul64);