On 12/15/2014 07:36 AM, Jiong Wang wrote: > + char buf[64]; > + uint64_t val = ((uint64_t) 1) << UINTVAL (operands[1]); > + sprintf (buf, "tst\t%%<w>0, %"PRId64, val); > + output_asm_insn (buf, operands); > + return "<bcond>\t%l2";
Better to simply modify the operand, as in operands[1] = GEN_INT (HOST_WIDE_INT_1U << UINTVAL (operands[1])); return "tst\t%<w>0, %1\;<bcond>\t%l2"; r~