[Bug target/81288] [6/7/8 Regression] ICE on 32-bit BE powerpc targets -w -misel -O2 (-O3, -Ofast, -Os)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81288 Segher Boessenkool changed: What|Removed |Added Status|ASSIGNED|NEW Assignee|segher at gcc dot gnu.org |unassigned at gcc dot gnu.org --- Comment #6 from Segher Boessenkool --- Fixed for powerpc on all open branches. Still needs to be handled for powerpcspe.
[Bug target/81288] [6/7/8 Regression] ICE on 32-bit BE powerpc targets -w -misel -O2 (-O3, -Ofast, -Os)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81288 --- Comment #5 from Segher Boessenkool --- Author: segher Date: Fri Dec 1 20:37:33 2017 New Revision: 255338 URL: https://gcc.gnu.org/viewcvs?rev=255338=gcc=rev Log: rs6000: Improve comparison rtx_cost (PR81288) The current rs6000 rtx_cost for comparisons against 0 is very high if TARGET_ISEL && !TARGET_MFCRF, much higher than for reg-reg comparisons, much higher than a load of 0 and such a reg-reg-comparison. This leads to infinite recursion in CSE (see PR81288). This patch removes the too-high cost, also simplifying this code. PR 81288/target * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle TARGET_ISEL && !TARGET_MFCRF differently. Simplify code. Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/rs6000/rs6000.c
[Bug target/81288] [6/7/8 Regression] ICE on 32-bit BE powerpc targets -w -misel -O2 (-O3, -Ofast, -Os)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81288 --- Comment #4 from Segher Boessenkool --- Author: segher Date: Fri Dec 1 20:35:52 2017 New Revision: 255337 URL: https://gcc.gnu.org/viewcvs?rev=255337=gcc=rev Log: rs6000: Improve comparison rtx_cost (PR81288) The current rs6000 rtx_cost for comparisons against 0 is very high if TARGET_ISEL && !TARGET_MFCRF, much higher than for reg-reg comparisons, much higher than a load of 0 and such a reg-reg-comparison. This leads to infinite recursion in CSE (see PR81288). This patch removes the too-high cost, also simplifying this code. PR 81288/target * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle TARGET_ISEL && !TARGET_MFCRF differently. Simplify code. Modified: branches/gcc-7-branch/gcc/ChangeLog branches/gcc-7-branch/gcc/config/rs6000/rs6000.c
[Bug target/81288] [6/7/8 Regression] ICE on 32-bit BE powerpc targets -w -misel -O2 (-O3, -Ofast, -Os)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81288 --- Comment #3 from Segher Boessenkool --- Author: segher Date: Tue Nov 28 01:28:57 2017 New Revision: 255188 URL: https://gcc.gnu.org/viewcvs?rev=255188=gcc=rev Log: rs6000: Improve comparison rtx_cost (PR81288) The current rs6000 rtx_cost for comparisons against 0 is very high if TARGET_ISEL && !TARGET_MFCRF, much higher than for reg-reg comparisons, much higher than a load of 0 and such a reg-reg-comparison. This leads to infinite recursion in CSE (see PR81288). This patch removes the too-high cost, also simplifying this code. PR 81288/target * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle TARGET_ISEL && !TARGET_MFCRF differently. Simplify code. Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.c