re PR target/49880 (SuperH: ICE when -m4 is used with -mdiv=call-div1)
PR target/49880 * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask. (musermode): Convert to Var(TARGET_USERMODE). * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY, MASK_ARCH): Add MASK_FPU_SINGLE_ONLY. * config/sh/sh.c (sh_option_override): Use TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case. * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4 condition. (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of TARGET_SH4. (udivsi3_i4_single, divsi3_i4_single): Use TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4. PR target/49880 * config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Enable for SH2A. (sdivsi3, udivsi3): Remove SH4 check and always compile these functions. PR target/49880 * gcc.target/sh/pr49880-1.c: New. * gcc.target/sh/pr49880-2.c: New. * gcc.target/sh/pr49880-3.c: New. * gcc.target/sh/pr49880-4.c: New. * gcc.target/sh/pr49880-5.c: New. From-SVN: r196636
Showing
- gcc/ChangeLog 16 additions, 0 deletionsgcc/ChangeLog
- gcc/config/sh/sh.c 1 addition, 2 deletionsgcc/config/sh/sh.c
- gcc/config/sh/sh.h 6 additions, 3 deletionsgcc/config/sh/sh.h
- gcc/config/sh/sh.md 8 additions, 6 deletionsgcc/config/sh/sh.md
- gcc/config/sh/sh.opt 5 additions, 1 deletiongcc/config/sh/sh.opt
- gcc/testsuite/ChangeLog 9 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/sh/pr49880-1.c 22 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr49880-1.c
- gcc/testsuite/gcc.target/sh/pr49880-2.c 22 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr49880-2.c
- gcc/testsuite/gcc.target/sh/pr49880-3.c 22 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr49880-3.c
- gcc/testsuite/gcc.target/sh/pr49880-4.c 19 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr49880-4.c
- gcc/testsuite/gcc.target/sh/pr49880-5.c 19 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr49880-5.c
- libgcc/ChangeLog 6 additions, 0 deletionslibgcc/ChangeLog
- libgcc/config/sh/lib1funcs.S 6 additions, 10 deletionslibgcc/config/sh/lib1funcs.S
Loading
Please register or sign in to comment