public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [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).