1;; Register constraints 2 3(define_register_constraint "x" "XRF_REGS" 4 "A register form the 88110 Extended Register File.") 5 6;; Integer constraints 7 8(define_constraint "I" 9 "A non-negative 16-bit value." 10 (and (match_code "const_int") 11 (match_test "SMALL_INTVAL (ival)"))) 12 13(define_constraint "J" 14 "A non-positive 16-bit value." 15 (and (match_code "const_int") 16 (match_test "SMALL_INTVAL (-ival)"))) 17 18(define_constraint "K" 19 "A non-negative value < 32." 20 (and (match_code "const_int") 21 (match_test "(unsigned HOST_WIDE_INT)ival < 32"))) 22 23(define_constraint "L" 24 "A constant with only the upper 16-bits set." 25 (and (match_code "const_int") 26 (match_test "(ival & 0xffff) == 0"))) 27 28(define_constraint "M" 29 "A constant value that can be formed with `set'." 30 (and (match_code "const_int") 31 (match_test "integer_ok_for_set(ival)"))) 32 33(define_constraint "N" 34 "A negative value." 35 (and (match_code "const_int") 36 (match_test "ival < 0"))) 37 38(define_constraint "O" 39 "Integer zero." 40 (and (match_code "const_int") 41 (match_test "ival == 0"))) 42 43(define_constraint "P" 44 "A positive value." 45 (and (match_code "const_int") 46 (match_test "ival >= 0"))) 47 48;; Floating-point constraints 49 50(define_constraint "G" 51 "Floating-point zero." 52 (and (match_code "const_double") 53 (match_test "hval == 0 && lval == 0"))) 54 55;; General constraints 56 57(define_constraint "Q" 58 "An address in a call context." 59 (match_operand 0 "symbolic_operand")) 60