On Wed, Oct 1, 2014 at 4:10 PM, Ilya Enkovich <enkovich....@gmail.com> wrote:
>> +;; Return true if size of VALUE can be stored in a sign >> +;; extended immediate field. >> +(define_predicate "x86_64_immediate_size_operand" >> + (match_code "symbol_ref") >> +{ >> + if (!TARGET_64BIT) >> + return true; >> + >> + /* For 64 bit target we may assume size of object fits >> + immediate only when code model guarantees that. */ >> + return (ix86_cmodel == CM_SMALL || ix86_cmodel == CM_KERNEL); >> +}) >> + > > This predicate causes bootstrap error: > predicates.md:362:38: error: unused parameter 'op' [-Werror=unused-parameter] Huh? How is this predicate different from e.g. (define_predicate "compare_operator" (match_code "compare")) ? Can you please show generated code from gcc/insn-preds.c? Uros.