source: trunk/toolchain/gcc/patches/4.6.3/040-gcc_bug_49696.patch @ 37621

Last change on this file since 37621 was 37621, checked in by nbd, 3 years ago

gcc: merge a bugfix for a MIPS specific internal compiler error

Signed-off-by: Felix Fietkau <nbd@…>

File size: 2.5 KB
  • gcc/config/mips/sync.md

    a b  
    136136          [(match_operand:SI 1 "register_operand" "d") 
    137137           (match_operand:SI 2 "register_operand" "d") 
    138138           (atomic_hiqi_op:SI (match_dup 0) 
    139                               (match_operand:SI 3 "register_operand" "dJ"))] 
     139                              (match_operand:SI 3 "reg_or_0_operand" "dJ"))] 
    140140          UNSPEC_SYNC_OLD_OP_12)) 
    141141   (clobber (match_scratch:SI 4 "=&d"))] 
    142142  "GENERATE_LL_SC" 
     
    177177          [(match_operand:SI 2 "register_operand" "d") 
    178178           (match_operand:SI 3 "register_operand" "d") 
    179179           (atomic_hiqi_op:SI (match_dup 0) 
    180                               (match_operand:SI 4 "register_operand" "dJ"))] 
     180                              (match_operand:SI 4 "reg_or_0_operand" "dJ"))] 
    181181          UNSPEC_SYNC_OLD_OP_12)) 
    182182   (clobber (match_scratch:SI 5 "=&d"))] 
    183183  "GENERATE_LL_SC" 
     
    218218           (match_operand:SI 2 "register_operand" "d") 
    219219           (match_operand:SI 3 "register_operand" "d") 
    220220           (atomic_hiqi_op:SI (match_dup 0) 
    221                               (match_operand:SI 4 "register_operand" "dJ"))] 
     221                              (match_operand:SI 4 "reg_or_0_operand" "dJ"))] 
    222222          UNSPEC_SYNC_NEW_OP_12)) 
    223223   (set (match_dup 1) 
    224224        (unspec_volatile:SI 
     
    259259          [(match_operand:SI 1 "register_operand" "d") 
    260260           (match_operand:SI 2 "register_operand" "d") 
    261261           (match_dup 0) 
    262            (match_operand:SI 3 "register_operand" "dJ")] 
     262           (match_operand:SI 3 "reg_or_0_operand" "dJ")] 
    263263          UNSPEC_SYNC_OLD_OP_12)) 
    264264   (clobber (match_scratch:SI 4 "=&d"))] 
    265265  "GENERATE_LL_SC" 
     
    298298        (unspec_volatile:SI 
    299299          [(match_operand:SI 2 "register_operand" "d") 
    300300           (match_operand:SI 3 "register_operand" "d") 
    301            (match_operand:SI 4 "register_operand" "dJ")] 
     301           (match_operand:SI 4 "reg_or_0_operand" "dJ")] 
    302302          UNSPEC_SYNC_OLD_OP_12)) 
    303303   (clobber (match_scratch:SI 5 "=&d"))] 
    304304  "GENERATE_LL_SC" 
     
    337337          [(match_operand:SI 1 "memory_operand" "+R") 
    338338           (match_operand:SI 2 "register_operand" "d") 
    339339           (match_operand:SI 3 "register_operand" "d") 
    340            (match_operand:SI 4 "register_operand" "dJ")] 
     340           (match_operand:SI 4 "reg_or_0_operand" "dJ")] 
    341341          UNSPEC_SYNC_NEW_OP_12)) 
    342342   (set (match_dup 1) 
    343343        (unspec_volatile:SI 
     
    546546   (set (match_dup 1) 
    547547        (unspec_volatile:SI [(match_operand:SI 2 "register_operand" "d") 
    548548                             (match_operand:SI 3 "register_operand" "d") 
    549                              (match_operand:SI 4 "arith_operand" "dJ")] 
     549                             (match_operand:SI 4 "reg_or_0_operand" "dJ")] 
    550550          UNSPEC_SYNC_EXCHANGE_12))] 
    551551  "GENERATE_LL_SC" 
    552552  { return mips_output_sync_loop (insn, operands); } 
Note: See TracBrowser for help on using the repository browser.