aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/m32r/m32r.c7
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr17119.c19
4 files changed, 31 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a91c1a8..e47b407 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ PR target/17119.
+ * config/m32r.c (gen_compare): Use reg_or_int16_operand when
+ checking for a valid constant, regardless of sign.
+
2004-08-25 Richard Henderson <rth@redhat.com>
PR target/16974
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index ca4079f..9e3404a 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -1174,11 +1174,8 @@ gen_compare (enum rtx_code code, rtx x, rtx y, int need_compare)
y = force_reg (GET_MODE (x), y);
else
{
- int ok_const =
- (code == LTU || code == LEU || code == GTU || code == GEU)
- ? uint16_operand (y, GET_MODE (y))
- : reg_or_cmp_int16_operand (y, GET_MODE (y));
-
+ int ok_const = reg_or_int16_operand (y, GET_MODE (y));
+
if (! ok_const)
y = force_reg (GET_MODE (x), y);
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cfce6da..e6674bf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2004-08-26 Nick Clifton <nickc@redhat.com>
+
+ * gcc.c-torture/compile/pr17119.c: New test.
+
2004-08-26 Joseph S. Myers <jsm@polyomino.org.uk>
* gcc.dg/c90-typespec-1.c, gcc.dg/c99-typespec-1.c: New tests.
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr17119.c b/gcc/testsuite/gcc.c-torture/compile/pr17119.c
new file mode 100644
index 0000000..28d6ccb
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr17119.c
@@ -0,0 +1,19 @@
+void
+_mesa_DrawPixels (int width, int height, unsigned format,
+ unsigned type, const void * pixels)
+{
+ switch (format)
+ {
+ case 0x1900:
+ func1 ();
+ break;
+ case 0x1907:
+ case 0x80E0:
+ case 0x1908:
+ case 0x80E1:
+ case 0x8000:
+ func2 ();
+ break;
+ }
+}
+