* [Patch, microblaze]: Fix ICE with mhard-float
@ 2013-07-15 4:59 David Holsgrove
2013-11-26 9:20 ` David Holsgrove
0 siblings, 1 reply; 8+ messages in thread
From: David Holsgrove @ 2013-07-15 4:59 UTC (permalink / raw)
To: gcc-patches
Cc: Michael Eager, Edgar Iglesias, John Williams, Vinod Kathail,
Vidhumouli Hunsigida, Nagaraju Mekala, Tom Shui
[-- Attachment #1: Type: text/plain, Size: 544 bytes --]
Add SImode to cstoresf4's comparison operator, prevents ICE during combine
rtl pass with error message;
internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
Use ordered_comparison_operator predicate to limit operators to
those fcmp can handle, and letting compiler reorder insns to
accommodate unordered as necessary.
Changelog entry;
2013-07-15 David Holsgrove <david.holsgrove@xilinx.com>
* gcc/config/microblaze/microblaze.md: Fix cstoresf4 and cbranchsf4
Can this be backported to gcc-4_8-branch also?
thanks,
David
[-- Attachment #2: 0003-Patch-microblaze-cstoresf4-add-mode-and-ordered_comp.patch --]
[-- Type: application/octet-stream, Size: 1696 bytes --]
From 09de1cb2be4143555f8425a7a33e24b3357ee295 Mon Sep 17 00:00:00 2001
From: David Holsgrove <david.holsgrove@xilinx.com>
Date: Tue, 9 Jul 2013 20:40:15 +1000
Subject: [PATCH] [Patch, microblaze]: cstoresf4, add mode and
ordered_comparison_operator
Add SImode to comparison operator, prevents ICE during combine
rtl pass with error message;
internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
Use ordered_comparison_operator predicate to limit operators to
those fcmp can handle, and letting compiler reorder insns to
accomodate unordered as necessary
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
---
gcc/config/microblaze/microblaze.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 1633359..c56b73c 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1650,7 +1650,7 @@
;;----------------------------------------------------------------
(define_insn "cstoresf4"
[(set (match_operand:SI 0 "register_operand" "=r")
- (match_operator 1 "comparison_operator"
+ (match_operator:SI 1 "ordered_comparison_operator"
[(match_operand:SF 2 "register_operand" "r")
(match_operand:SF 3 "register_operand" "r")]))]
"TARGET_HARD_FLOAT"
@@ -1679,7 +1679,7 @@
(define_expand "cbranchsf4"
[(set (pc)
- (if_then_else (match_operator 0 "comparison_operator"
+ (if_then_else (match_operator 0 "ordered_comparison_operator"
[(match_operand:SF 1 "register_operand")
(match_operand:SF 2 "register_operand")])
(label_ref (match_operand 3 ""))
--
1.7.9.5
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch, microblaze]: Fix ICE with mhard-float
2013-07-15 4:59 [Patch, microblaze]: Fix ICE with mhard-float David Holsgrove
@ 2013-11-26 9:20 ` David Holsgrove
2013-12-17 20:50 ` Spenser Gilliland
2014-01-16 18:36 ` Michael Eager
0 siblings, 2 replies; 8+ messages in thread
From: David Holsgrove @ 2013-11-26 9:20 UTC (permalink / raw)
To: gcc-patches
Cc: Michael Eager, Edgar Iglesias, John Williams,
Vidhumouli Hunsigida, Nagaraju Mekala
[-- Attachment #1: Type: text/plain, Size: 781 bytes --]
Hi Michael,
I've attached the same patch based on latest gcc master.
Can this be applied to gcc-4_8-branch also.
thanks,
David
On 15 July 2013 14:53, David Holsgrove <david.holsgrove@xilinx.com> wrote:
> Add SImode to cstoresf4's comparison operator, prevents ICE during combine
> rtl pass with error message;
>
> internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
>
> Use ordered_comparison_operator predicate to limit operators to
> those fcmp can handle, and letting compiler reorder insns to
> accommodate unordered as necessary.
>
> Changelog entry;
>
> 2013-07-15 David Holsgrove <david.holsgrove@xilinx.com>
>
> * gcc/config/microblaze/microblaze.md: Fix cstoresf4 and cbranchsf4
>
> Can this be backported to gcc-4_8-branch also?
>
> thanks,
> David
[-- Attachment #2: 0003-Patch-microblaze-cstoresf4-add-mode-and-ordered_comp.patch --]
[-- Type: application/octet-stream, Size: 1843 bytes --]
From 6b2203a3ef3997e3fa7cc3ad252ba04888b6d485 Mon Sep 17 00:00:00 2001
From: David Holsgrove <david.holsgrove@xilinx.com>
Date: Tue, 9 Jul 2013 20:40:15 +1000
Subject: [PATCH 03/11] [Patch, microblaze]: cstoresf4, add mode and
ordered_comparison_operator
Add SImode to comparison operator, prevents ICE during combine
rtl pass with error message;
internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
Use ordered_comparison_operator predicate to limit operators to
those fcmp can handle, and letting compiler reorder insns to
accomodate unordered as necessary
Changelog
2013-11-26 David Holsgrove <david.holsgrove@xilinx.com>
* gcc/config/microblaze/microblaze.md: Correct cstoresf4 / cbranchsf4
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
---
gcc/config/microblaze/microblaze.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index d7e9c5f..af96c77 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1650,7 +1650,7 @@
;;----------------------------------------------------------------
(define_insn "cstoresf4"
[(set (match_operand:SI 0 "register_operand" "=r")
- (match_operator 1 "comparison_operator"
+ (match_operator:SI 1 "ordered_comparison_operator"
[(match_operand:SF 2 "register_operand" "r")
(match_operand:SF 3 "register_operand" "r")]))]
"TARGET_HARD_FLOAT"
@@ -1679,7 +1679,7 @@
(define_expand "cbranchsf4"
[(set (pc)
- (if_then_else (match_operator 0 "comparison_operator"
+ (if_then_else (match_operator 0 "ordered_comparison_operator"
[(match_operand:SF 1 "register_operand")
(match_operand:SF 2 "register_operand")])
(label_ref (match_operand 3 ""))
--
1.7.9.5
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch, microblaze]: Fix ICE with mhard-float
2013-11-26 9:20 ` David Holsgrove
@ 2013-12-17 20:50 ` Spenser Gilliland
2014-01-16 18:36 ` Michael Eager
1 sibling, 0 replies; 8+ messages in thread
From: Spenser Gilliland @ 2013-12-17 20:50 UTC (permalink / raw)
To: gcc-patches
Cc: Michael Eager, Edgar Iglesias, John Williams,
Vidhumouli Hunsigida, Nagaraju Mekala
Hi,
Just wanted to say that this patch works for me.
Thanks,
Spenser
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch, microblaze]: Fix ICE with mhard-float
2013-11-26 9:20 ` David Holsgrove
2013-12-17 20:50 ` Spenser Gilliland
@ 2014-01-16 18:36 ` Michael Eager
2014-01-22 3:43 ` David Holsgrove
1 sibling, 1 reply; 8+ messages in thread
From: Michael Eager @ 2014-01-16 18:36 UTC (permalink / raw)
To: David Holsgrove, gcc-patches
Cc: Edgar Iglesias, John Williams, Vidhumouli Hunsigida, Nagaraju Mekala
On 11/25/13 23:50, David Holsgrove wrote:
> Hi Michael,
>
> I've attached the same patch based on latest gcc master.
>
> Can this be applied to gcc-4_8-branch also.
>
> thanks,
> David
>
> On 15 July 2013 14:53, David Holsgrove <david.holsgrove@xilinx.com> wrote:
>> Add SImode to cstoresf4's comparison operator, prevents ICE during combine
>> rtl pass with error message;
>>
>> internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
>>
>> Use ordered_comparison_operator predicate to limit operators to
>> those fcmp can handle, and letting compiler reorder insns to
>> accommodate unordered as necessary.
>>
>> Changelog entry;
>>
>> 2013-07-15 David Holsgrove <david.holsgrove@xilinx.com>
>>
>> * gcc/config/microblaze/microblaze.md: Fix cstoresf4 and cbranchsf4
>>
>> Can this be backported to gcc-4_8-branch also?
Hi David --
You mention that this patch fixes an ICE. Is there a failing test
case in the GCC Test Suite? Is there a GCC PR for this ICE?
If not, please add a test case to the patch.
Changelog entries saying "fix XYZ" are not as useful as a description
of the changes made. A better Changelog would be:
* config/microblaze/microblaze.md (cstoresf4, cbranchsf4): Replace
comparison_operator with ordered_comparison_operator.
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [Patch, microblaze]: Fix ICE with mhard-float
2014-01-16 18:36 ` Michael Eager
@ 2014-01-22 3:43 ` David Holsgrove
2014-01-22 10:51 ` David Holsgrove
0 siblings, 1 reply; 8+ messages in thread
From: David Holsgrove @ 2014-01-22 3:43 UTC (permalink / raw)
To: Michael Eager, gcc-patches
Cc: Edgar Iglesias, John Williams, Vidhumouli Hunsigida, Nagaraju Mekala
> -----Original Message-----
> From: Michael Eager [mailto:eager@eagerm.com]
> Sent: Friday, 17 January 2014 4:36 am
> To: David Holsgrove; gcc-patches@gcc.gnu.org
> Cc: Edgar Iglesias; John Williams; Vidhumouli Hunsigida; Nagaraju Mekala
> Subject: Re: [Patch, microblaze]: Fix ICE with mhard-float
>
> On 11/25/13 23:50, David Holsgrove wrote:
> > Hi Michael,
> >
> > I've attached the same patch based on latest gcc master.
> >
> > Can this be applied to gcc-4_8-branch also.
> >
> > thanks,
> > David
> >
> > On 15 July 2013 14:53, David Holsgrove <david.holsgrove@xilinx.com> wrote:
> >> Add SImode to cstoresf4's comparison operator, prevents ICE during combine
> >> rtl pass with error message;
> >>
> >> internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
> >>
> >> Use ordered_comparison_operator predicate to limit operators to
> >> those fcmp can handle, and letting compiler reorder insns to
> >> accommodate unordered as necessary.
> >>
> >> Changelog entry;
> >>
> >> 2013-07-15 David Holsgrove <david.holsgrove@xilinx.com>
> >>
> >> * gcc/config/microblaze/microblaze.md: Fix cstoresf4 and cbranchsf4
> >>
> >> Can this be backported to gcc-4_8-branch also?
>
>
> Hi David --
>
> You mention that this patch fixes an ICE. Is there a failing test
> case in the GCC Test Suite? Is there a GCC PR for this ICE?
> If not, please add a test case to the patch.
Hi Michael,
Thanks for the reply. No, unfortunately there isn’t an existing test case which shows this ICE.
I'm in the process of trying to recreate and distil into a small test case if possible, but the error was encountered whilst building a rather large app using microblaze linux.
From the documentation though we can see that the use of comparison_operator as the predicate for these Microblaze insn patterns is too broad, as fcmp only accepts the following;
http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/mb_ref_guide.pdf
fcmp.un rD, rA, rB Unordered floating point comparison
fcmp.lt rD, rA, rB Less-than floating point comparison
fcmp.eq rD, rA, rB Equal floating point comparison
fcmp.le rD, rA, rB Less-or-Equal floating point comparison
fcmp.gt rD, rA, rB Greater-than floating point comparison
fcmp.ne rD, rA, rB Not-Equal floating point comparison
fcmp.ge rD, rA, rB Greater-or-Equal floating point comparison
From gcc/gensupport.c we see that the comparison_operator predicate consists of the following expression codes;
EQ, NE, LE, LT, GE, GT, LEU, LTU, GEU, GTU, UNORDERED, ORDERED, UNEQ, UNGE, UNGT, UNLE, UNLT, LTGT
Whereas ordered_comparison_operator has;
EQ, NE, LE, LT, GE, GT, LEU, LTU, GEU, GTU
(microblaze.c's print_operand handles the unordered comparison modes before passing to fcmp)
The GCC Internals documentation also highlights that ordered_comparison_operator should likely be used to restrict the possible comparison modes;
http://gcc.gnu.org/onlinedocs/gccint/Standard-Names.html
‘cstoremode4’
These operations may FAIL, but should do so only in relatively uncommon cases; if they would FAIL for common cases involving integer comparisons, it is best to restrict the predicates to not allow these operands. Likewise if a given comparison operator will always fail, independent of the operands (for floating-point modes, the ordered_comparison_operator predicate is often useful in this case).
>
> Changelog entries saying "fix XYZ" are not as useful as a description
> of the changes made. A better Changelog would be:
>
> * config/microblaze/microblaze.md (cstoresf4, cbranchsf4): Replace
> comparison_operator with ordered_comparison_operator.
>
Thanks for the suggestion, yes indeed, a better ChangeLog entry would be;
2013-07-15 David Holsgrove <david.holsgrove@xilinx.com>
* config/microblaze/microblaze.md (cstoresf4, cbranchsf4): Replace
comparison_operator with ordered_comparison_operator.
thanks again,
David
>
> --
> Michael Eager eager@eagercon.com
> 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch, microblaze]: Fix ICE with mhard-float
2014-01-22 3:43 ` David Holsgrove
@ 2014-01-22 10:51 ` David Holsgrove
2014-01-22 15:41 ` Michael Eager
2014-01-30 17:26 ` Michael Eager
0 siblings, 2 replies; 8+ messages in thread
From: David Holsgrove @ 2014-01-22 10:51 UTC (permalink / raw)
To: Michael Eager, gcc-patches
Cc: Edgar Iglesias, John Williams, Vidhumouli Hunsigida, Nagaraju Mekala
[-- Attachment #1: Type: text/plain, Size: 2563 bytes --]
Hi Michael,
On 22 January 2014 13:43, David Holsgrove <david.holsgrove@xilinx.com> wrote:
>> -----Original Message-----
>> From: Michael Eager [mailto:eager@eagerm.com]
>> Sent: Friday, 17 January 2014 4:36 am
>> To: David Holsgrove; gcc-patches@gcc.gnu.org
>> Cc: Edgar Iglesias; John Williams; Vidhumouli Hunsigida; Nagaraju Mekala
>> Subject: Re: [Patch, microblaze]: Fix ICE with mhard-float
>>
>> On 11/25/13 23:50, David Holsgrove wrote:
>> > Hi Michael,
>> >
>> > I've attached the same patch based on latest gcc master.
>> >
>> > Can this be applied to gcc-4_8-branch also.
>> >
>> > thanks,
>> > David
>> >
>> > On 15 July 2013 14:53, David Holsgrove <david.holsgrove@xilinx.com> wrote:
>> >> Add SImode to cstoresf4's comparison operator, prevents ICE during combine
>> >> rtl pass with error message;
>> >>
>> >> internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
>> >>
>> >> Use ordered_comparison_operator predicate to limit operators to
>> >> those fcmp can handle, and letting compiler reorder insns to
>> >> accommodate unordered as necessary.
>> >>
>> >> Changelog entry;
>> >>
>> >> 2013-07-15 David Holsgrove <david.holsgrove@xilinx.com>
>> >>
>> >> * gcc/config/microblaze/microblaze.md: Fix cstoresf4 and cbranchsf4
>> >>
>> >> Can this be backported to gcc-4_8-branch also?
>>
>>
>> Hi David --
>>
>> You mention that this patch fixes an ICE. Is there a failing test
>> case in the GCC Test Suite? Is there a GCC PR for this ICE?
>> If not, please add a test case to the patch.
>
> Hi Michael,
>
> Thanks for the reply. No, unfortunately there isn’t an existing test case which shows this ICE.
>
> I'm in the process of trying to recreate and distil into a small test case if possible, but the error was encountered whilst building a rather large app using microblaze linux.
>
I've attached updated patch which includes a test case to check for
this ICE. Tested on microblaze baremetal and microblazeel linux
toolchains with / without my change.
Updated ChangeLogs would be;
gcc/ChangeLog
2014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
* config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
comparison_operator with ordered_comparison_operator.
testsuite/ChangeLog
2014-01-22 David holsgrove <david.holsgrove@xilinx.com>
* testsuite/gcc.target/microblaze/isa/fcmp4.c: New file.
thanks,
David
>>
>> --
>> Michael Eager eager@eagercon.com
>> 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
>
>
>
[-- Attachment #2: 0001-Patch-microblaze-cstoresf4-add-mode-and-ordered_comp.patch --]
[-- Type: application/octet-stream, Size: 2914 bytes --]
From c5c4550d136c8e3934bd6542f9b2912ef2eea516 Mon Sep 17 00:00:00 2001
From: David Holsgrove <david.holsgrove@xilinx.com>
Date: Tue, 9 Jul 2013 20:40:15 +1000
Subject: [PATCH] [Patch, microblaze]: cstoresf4, add mode and
ordered_comparison_operator
Add SImode to comparison operator, prevents ICE during combine
rtl pass with error message;
internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
Use ordered_comparison_operator predicate to limit operators to
those fcmp can handle, and letting compiler reorder insns to
accomodate unordered as necessary
gcc/ChangeLog
2013-11-26 David Holsgrove <david.holsgrove@xilinx.com>
* config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
comparison_operator with ordered_comparison_operator.
testsuite/ChangeLog
2014-01-22 David holsgrove <david.holsgrove@xilinx.com>
* testsuite/gcc.target/microblaze/isa/fcmp4.c: New file.
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
---
gcc/config/microblaze/microblaze.md | 4 ++--
gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c | 9 +++++++++
2 files changed, 11 insertions(+), 2 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 4b0ca1a..c1a1daa 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1649,7 +1649,7 @@
;;----------------------------------------------------------------
(define_insn "cstoresf4"
[(set (match_operand:SI 0 "register_operand" "=r")
- (match_operator 1 "comparison_operator"
+ (match_operator:SI 1 "ordered_comparison_operator"
[(match_operand:SF 2 "register_operand" "r")
(match_operand:SF 3 "register_operand" "r")]))]
"TARGET_HARD_FLOAT"
@@ -1678,7 +1678,7 @@
(define_expand "cbranchsf4"
[(set (pc)
- (if_then_else (match_operator 0 "comparison_operator"
+ (if_then_else (match_operator 0 "ordered_comparison_operator"
[(match_operand:SF 1 "register_operand")
(match_operand:SF 2 "register_operand")])
(label_ref (match_operand 3 ""))
diff --git a/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c b/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c
new file mode 100644
index 0000000..79cc5f9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c
@@ -0,0 +1,9 @@
+/* { dg-options "-O3 -mcpu=v6.00.a -mhard-float" } */
+
+void float_func(float f1, float f2, float f3)
+{
+ /* { dg-final { scan-assembler "fcmp\.eq\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
+ /* { dg-final { scan-assembler "fcmp\.le\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
+ if(f1==f2 && f1<=f3)
+ print ("f1 eq f2 && f1 le f3");
+}
--
1.7.9.5
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch, microblaze]: Fix ICE with mhard-float
2014-01-22 10:51 ` David Holsgrove
@ 2014-01-22 15:41 ` Michael Eager
2014-01-30 17:26 ` Michael Eager
1 sibling, 0 replies; 8+ messages in thread
From: Michael Eager @ 2014-01-22 15:41 UTC (permalink / raw)
To: David Holsgrove, gcc-patches
Cc: Edgar Iglesias, John Williams, Vidhumouli Hunsigida, Nagaraju Mekala
On 01/22/14 02:50, David Holsgrove wrote:
> Hi Michael,
>
> On 22 January 2014 13:43, David Holsgrove <david.holsgrove@xilinx.com> wrote:
>>> -----Original Message-----
>>> From: Michael Eager [mailto:eager@eagerm.com]
>>> Sent: Friday, 17 January 2014 4:36 am
>>> To: David Holsgrove; gcc-patches@gcc.gnu.org
>>> Cc: Edgar Iglesias; John Williams; Vidhumouli Hunsigida; Nagaraju Mekala
>>> Subject: Re: [Patch, microblaze]: Fix ICE with mhard-float
>>>
>>> On 11/25/13 23:50, David Holsgrove wrote:
>>>> Hi Michael,
>>>>
>>>> I've attached the same patch based on latest gcc master.
>>>>
>>>> Can this be applied to gcc-4_8-branch also.
>>>>
>>>> thanks,
>>>> David
>>>>
>>>> On 15 July 2013 14:53, David Holsgrove <david.holsgrove@xilinx.com> wrote:
>>>>> Add SImode to cstoresf4's comparison operator, prevents ICE during combine
>>>>> rtl pass with error message;
>>>>>
>>>>> internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
>>>>>
>>>>> Use ordered_comparison_operator predicate to limit operators to
>>>>> those fcmp can handle, and letting compiler reorder insns to
>>>>> accommodate unordered as necessary.
>>>>>
>>>>> Changelog entry;
>>>>>
>>>>> 2013-07-15 David Holsgrove <david.holsgrove@xilinx.com>
>>>>>
>>>>> * gcc/config/microblaze/microblaze.md: Fix cstoresf4 and cbranchsf4
>>>>>
>>>>> Can this be backported to gcc-4_8-branch also?
>>>
>>>
>>> Hi David --
>>>
>>> You mention that this patch fixes an ICE. Is there a failing test
>>> case in the GCC Test Suite? Is there a GCC PR for this ICE?
>>> If not, please add a test case to the patch.
>>
>> Hi Michael,
>>
>> Thanks for the reply. No, unfortunately there isn’t an existing test case which shows this ICE.
>>
>> I'm in the process of trying to recreate and distil into a small test case if possible, but the error was encountered whilst building a rather large app using microblaze linux.
>>
>
> I've attached updated patch which includes a test case to check for
> this ICE. Tested on microblaze baremetal and microblazeel linux
> toolchains with / without my change.
>
> Updated ChangeLogs would be;
>
> gcc/ChangeLog
>
> 2014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
>
> * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
> comparison_operator with ordered_comparison_operator.
>
> testsuite/ChangeLog
>
> 2014-01-22 David holsgrove <david.holsgrove@xilinx.com>
>
> * testsuite/gcc.target/microblaze/isa/fcmp4.c: New file.
>
>
> thanks,
> David
>
>>>
>>> --
>>> Michael Eager eager@eagercon.com
>>> 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
Thanks!
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch, microblaze]: Fix ICE with mhard-float
2014-01-22 10:51 ` David Holsgrove
2014-01-22 15:41 ` Michael Eager
@ 2014-01-30 17:26 ` Michael Eager
1 sibling, 0 replies; 8+ messages in thread
From: Michael Eager @ 2014-01-30 17:26 UTC (permalink / raw)
To: David Holsgrove, gcc-patches
Cc: Edgar Iglesias, John Williams, Vidhumouli Hunsigida, Nagaraju Mekala
On 01/22/14 02:50, David Holsgrove wrote:
> Hi Michael,
>
> On 22 January 2014 13:43, David Holsgrove <david.holsgrove@xilinx.com> wrote:
>>> -----Original Message-----
>>> From: Michael Eager [mailto:eager@eagerm.com]
>>> Sent: Friday, 17 January 2014 4:36 am
>>> To: David Holsgrove; gcc-patches@gcc.gnu.org
>>> Cc: Edgar Iglesias; John Williams; Vidhumouli Hunsigida; Nagaraju Mekala
>>> Subject: Re: [Patch, microblaze]: Fix ICE with mhard-float
>>>
>>> On 11/25/13 23:50, David Holsgrove wrote:
>>>> Hi Michael,
>>>>
>>>> I've attached the same patch based on latest gcc master.
>>>>
>>>> Can this be applied to gcc-4_8-branch also.
>>>>
>>>> thanks,
>>>> David
>>>>
>>>> On 15 July 2013 14:53, David Holsgrove <david.holsgrove@xilinx.com> wrote:
>>>>> Add SImode to cstoresf4's comparison operator, prevents ICE during combine
>>>>> rtl pass with error message;
>>>>>
>>>>> internal compiler error: in simplify_subreg, at simplify-rtx.c:5725
>>>>>
>>>>> Use ordered_comparison_operator predicate to limit operators to
>>>>> those fcmp can handle, and letting compiler reorder insns to
>>>>> accommodate unordered as necessary.
>>>>>
>>>>> Changelog entry;
>>>>>
>>>>> 2013-07-15 David Holsgrove <david.holsgrove@xilinx.com>
>>>>>
>>>>> * gcc/config/microblaze/microblaze.md: Fix cstoresf4 and cbranchsf4
>>>>>
>>>>> Can this be backported to gcc-4_8-branch also?
>>>
>>>
>>> Hi David --
>>>
>>> You mention that this patch fixes an ICE. Is there a failing test
>>> case in the GCC Test Suite? Is there a GCC PR for this ICE?
>>> If not, please add a test case to the patch.
>>
>> Hi Michael,
>>
>> Thanks for the reply. No, unfortunately there isn’t an existing test case which shows this ICE.
>>
>> I'm in the process of trying to recreate and distil into a small test case if possible, but the error was encountered whilst building a rather large app using microblaze linux.
>>
>
> I've attached updated patch which includes a test case to check for
> this ICE. Tested on microblaze baremetal and microblazeel linux
> toolchains with / without my change.
>
> Updated ChangeLogs would be;
>
> gcc/ChangeLog
>
> 2014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
>
> * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
> comparison_operator with ordered_comparison_operator.
>
> testsuite/ChangeLog
>
> 2014-01-22 David holsgrove <david.holsgrove@xilinx.com>
>
> * testsuite/gcc.target/microblaze/isa/fcmp4.c: New file.
>
>
> thanks,
> David
mainline: Committed revision 207311.
gcc-4_8-branch: Committed revision 207313.
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-01-30 17:26 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-15 4:59 [Patch, microblaze]: Fix ICE with mhard-float David Holsgrove
2013-11-26 9:20 ` David Holsgrove
2013-12-17 20:50 ` Spenser Gilliland
2014-01-16 18:36 ` Michael Eager
2014-01-22 3:43 ` David Holsgrove
2014-01-22 10:51 ` David Holsgrove
2014-01-22 15:41 ` Michael Eager
2014-01-30 17:26 ` Michael Eager
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).