diff options
Diffstat (limited to 'gcc/config/sh/constraints.md')
| -rw-r--r-- | gcc/config/sh/constraints.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/sh/constraints.md b/gcc/config/sh/constraints.md index 6c9bc5e..8642ea8 100644 --- a/gcc/config/sh/constraints.md +++ b/gcc/config/sh/constraints.md @@ -31,6 +31,8 @@ ;; IJKLMNOP: CONT_INT constants ;; Ixx: signed xx bit ;; J16: 0xffffffff00000000 | 0x00000000ffffffff +;; Jmb: 0x000000FF +;; Jmw: 0x0000FFFF ;; Kxx: unsigned xx bit ;; M: 1 ;; N: 0 @@ -135,6 +137,16 @@ (and (match_code "const_int") (match_test "CONST_OK_FOR_J16 (ival)"))) +(define_constraint "Jmb" + "Low byte mask constant 0x000000FF" + (and (match_code "const_int") + (match_test "ival == 0xFF"))) + +(define_constraint "Jmw" + "Low word mask constant 0x0000FFFF" + (and (match_code "const_int") + (match_test "ival == 0xFFFF"))) + (define_constraint "K03" "An unsigned 3-bit constant, as used in SH2A bclr, bset, etc." (and (match_code "const_int") |
