1 |
vapier 12/11/25 03:33:55 |
2 |
|
3 |
Modified: README.history |
4 |
Added: 40_all_superh-mieee-default-fix-pr33135.patch |
5 |
Log: |
6 |
add fix from upstream for -fno-finite-math-only handling on SuperH PR33135 #439988 |
7 |
|
8 |
Revision Changes Path |
9 |
1.14 src/patchsets/gcc/4.6.1/gentoo/README.history |
10 |
|
11 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.1/gentoo/README.history?rev=1.14&view=markup |
12 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.1/gentoo/README.history?rev=1.14&content-type=text/plain |
13 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.1/gentoo/README.history?r1=1.13&r2=1.14 |
14 |
|
15 |
Index: README.history |
16 |
=================================================================== |
17 |
RCS file: /var/cvsroot/gentoo/src/patchsets/gcc/4.6.1/gentoo/README.history,v |
18 |
retrieving revision 1.13 |
19 |
retrieving revision 1.14 |
20 |
diff -u -r1.13 -r1.14 |
21 |
--- README.history 25 Nov 2012 03:06:41 -0000 1.13 |
22 |
+++ README.history 25 Nov 2012 03:33:55 -0000 1.14 |
23 |
@@ -1,6 +1,7 @@ |
24 |
1.2 [pending] |
25 |
- 03_all_java-nomulti.patch |
26 |
+ 39_all_cond-store-pr452445.patch |
27 |
+ + 40_all_superh-mieee-default-fix-pr33135.patch |
28 |
|
29 |
1.1 27 Sep 2012 |
30 |
+ 05_all_gcc-4.6.x-siginfo.patch |
31 |
|
32 |
|
33 |
|
34 |
1.1 src/patchsets/gcc/4.6.1/gentoo/40_all_superh-mieee-default-fix-pr33135.patch |
35 |
|
36 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.1/gentoo/40_all_superh-mieee-default-fix-pr33135.patch?rev=1.1&view=markup |
37 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.1/gentoo/40_all_superh-mieee-default-fix-pr33135.patch?rev=1.1&content-type=text/plain |
38 |
|
39 |
Index: 40_all_superh-mieee-default-fix-pr33135.patch |
40 |
=================================================================== |
41 |
https://bugs.gentoo.org/439988 |
42 |
http://gcc.gnu.org/PR33135 |
43 |
|
44 |
From 5600384da45f999b6088ce92a12e707564f6cf61 Mon Sep 17 00:00:00 2001 |
45 |
From: olegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4> |
46 |
Date: Sun, 22 Jul 2012 23:49:56 +0000 |
47 |
Subject: [PATCH] PR target/33135 * config/sh/sh.opt (mieee): |
48 |
Use Var instead of Mask. Correct description. * |
49 |
config/sh/sh.c (sh_option_override): Do not change |
50 |
flag_finite_math_only. Set TARGET_IEEE to complement of |
51 |
flag_finite_math_only. * doc/invoke.texi (SH |
52 |
options): Add mno-ieee. Correct description of mieee |
53 |
and mno-ieee behavior. |
54 |
|
55 |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@189762 138bc75d-0d04-0410-961f-82ee72b054a4 |
56 |
--- |
57 |
gcc/ChangeLog | 11 +++++++++++ |
58 |
gcc/config/sh/sh.c | 10 +++++----- |
59 |
gcc/config/sh/sh.opt | 4 ++-- |
60 |
gcc/doc/invoke.texi | 18 ++++++++++-------- |
61 |
4 files changed, 28 insertions(+), 15 deletions(-) |
62 |
|
63 |
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c |
64 |
index 39ef00d..11e537b 100644 |
65 |
--- a/gcc/config/sh/sh.c |
66 |
+++ b/gcc/config/sh/sh.c |
67 |
@@ -763,11 +763,6 @@ sh_option_override (void) |
68 |
SUBTARGET_OVERRIDE_OPTIONS; |
69 |
if (optimize > 1 && !optimize_size) |
70 |
target_flags |= MASK_SAVE_ALL_TARGET_REGS; |
71 |
- if (flag_finite_math_only == 2) |
72 |
- flag_finite_math_only |
73 |
- = !flag_signaling_nans && TARGET_SH2E && ! TARGET_IEEE; |
74 |
- if (TARGET_SH2E && !flag_finite_math_only) |
75 |
- target_flags |= MASK_IEEE; |
76 |
sh_cpu = PROCESSOR_SH1; |
77 |
assembler_dialect = 0; |
78 |
if (TARGET_SH2) |
79 |
@@ -1007,6 +1002,11 @@ sh_option_override (void) |
80 |
align_functions = min_align; |
81 |
} |
82 |
|
83 |
+ /* If the -mieee option was not explicitly set by the user, turn it on |
84 |
+ unless -ffinite-math-only was specified. See also PR 33135. */ |
85 |
+ if (! global_options_set.x_TARGET_IEEE) |
86 |
+ TARGET_IEEE = ! flag_finite_math_only; |
87 |
+ |
88 |
if (sh_fixed_range_str) |
89 |
sh_fix_range (sh_fixed_range_str); |
90 |
|
91 |
diff --git a/gcc/config/sh/sh.opt b/gcc/config/sh/sh.opt |
92 |
index 99a6373..8464bd7 100644 |
93 |
--- a/gcc/config/sh/sh.opt |
94 |
+++ b/gcc/config/sh/sh.opt |
95 |
@@ -270,8 +270,8 @@ Target Report RejectNegative Mask(HITACHI) |
96 |
Follow Renesas (formerly Hitachi) / SuperH calling conventions |
97 |
|
98 |
mieee |
99 |
-Target Report Mask(IEEE) |
100 |
-Increase the IEEE compliance for floating-point code |
101 |
+Target Var(TARGET_IEEE) |
102 |
+Increase the IEEE compliance for floating-point comparisons |
103 |
|
104 |
mindexed-addressing |
105 |
Target Report Mask(ALLOW_INDEXED_ADDRESS) Condition(SUPPORT_ANY_SH5_32MEDIA) |
106 |
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi |
107 |
index 4ed31b6..9cd24ad 100644 |
108 |
--- a/gcc/doc/invoke.texi |
109 |
+++ b/gcc/doc/invoke.texi |
110 |
@@ -853,8 +853,8 @@ See RS/6000 and PowerPC Options. |
111 |
-m5-compact -m5-compact-nofpu @gol |
112 |
-mb -ml -mdalign -mrelax @gol |
113 |
-mbigtable -mfmovd -mhitachi -mrenesas -mno-renesas -mnomacsave @gol |
114 |
--mieee -mbitops -misize -minline-ic_invalidate -mpadstruct -mspace @gol |
115 |
--mprefergot -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol |
116 |
+-mieee -mno-ieee -mbitops -misize -minline-ic_invalidate -mpadstruct @gol |
117 |
+-mspace -mprefergot -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol |
118 |
-mdivsi3_libfunc=@var{name} -mfixed-range=@var{register-range} @gol |
119 |
-madjust-unroll -mindexed-addressing -mgettrcost=@var{number} -mpt-fixed @gol |
120 |
-maccumulate-outgoing-args -minvalid-symbols} |
121 |
@@ -16938,13 +16938,15 @@ Mark the @code{MAC} register as call-clobbered, even if |
122 |
@option{-mhitachi} is given. |
123 |
|
124 |
@item -mieee |
125 |
+@item -mno-ieee |
126 |
@opindex mieee |
127 |
-Increase IEEE-compliance of floating-point code. |
128 |
-At the moment, this is equivalent to @option{-fno-finite-math-only}. |
129 |
-When generating 16 bit SH opcodes, getting IEEE-conforming results for |
130 |
-comparisons of NANs / infinities incurs extra overhead in every |
131 |
-floating point comparison, therefore the default is set to |
132 |
-@option{-ffinite-math-only}. |
133 |
+@opindex mnoieee |
134 |
+Control the IEEE compliance of floating-point comparisons, which affects the |
135 |
+handling of cases where the result of a comparison is unordered. By default |
136 |
+@option{-mieee} is implicitly enabled. If @option{-ffinite-math-only} is |
137 |
+enabled @option{-mno-ieee} is implicitly set, which results in faster |
138 |
+floating-point greater-equal and less-equal comparisons. The implcit settings |
139 |
+can be overridden by specifying either @option{-mieee} or @option{-mno-ieee}. |
140 |
|
141 |
@item -minline-ic_invalidate |
142 |
@opindex minline-ic_invalidate |
143 |
-- |
144 |
1.7.12.4 |