2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/42093
* config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage
to TARGET_THUMB1.
(CASE_VECTOR_SHORTEN_MODE): Allow signed offsets
only for TARGET_THUMB1.
2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/42093
* gcc.target/arm/pr42093.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155428
138bc75d-0d04-0410-961f-
82ee72b054a4
+2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/42093
+ * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage
+ to TARGET_THUMB1.
+ (CASE_VECTOR_SHORTEN_MODE): Allow signed offsets
+ only for TARGET_THUMB1.
+
2009-12-23 Ramana Radhakrishnan <ramrad01@arm.com>
PR target/40670
#define CASE_VECTOR_MODE Pmode
#define CASE_VECTOR_PC_RELATIVE (TARGET_THUMB2 \
- || (TARGET_THUMB \
+ || (TARGET_THUMB1 \
&& (optimize_size || flag_pic)))
#define CASE_VECTOR_SHORTEN_MODE(min, max, body) \
- (TARGET_THUMB \
+ (TARGET_THUMB1 \
? (min >= 0 && max < 512 \
? (ADDR_DIFF_VEC_FLAGS (body).offset_unsigned = 1, QImode) \
: min >= -256 && max < 256 \
+2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/42093
+ * gcc.target/arm/pr42093.c: New test.
+
2009-12-23 Ramana Radhakrishnan <ramrad01@arm.com>
PR target/40670
--- /dev/null
+/* { dg-options "-mthumb -O2" } */
+/* { dg-require-effective-target arm_thumb2_ok } */
+/* { dg-final { scan-assembler-not "tbb" } } */
+/* { dg-final { scan-assembler-not "tbh" } } */
+
+#include <stdlib.h>
+
+int gbl;
+int foo (int *buf, int n)
+{
+ int ctr = 0;
+ int c;
+ while (1)
+ {
+ c = buf[ctr++];
+ switch (c)
+ {
+ case '\n':
+ gbl++;
+ break;
+
+ case ' ': case '\t' : case '\f' : case '\r':
+ break;
+
+ case ';':
+ do
+ c = buf [ctr++];
+ while (c != '\n' && c != -1);
+ gbl++;
+ break;
+
+ case '/':
+ {
+ int prevc;
+ c = buf [ctr++];
+ if (c != '*')
+ abort ();
+
+ prevc = 0;
+ while ((c = buf[ctr++]) && c != -1)
+ {
+ if (c == '\n')
+ gbl++;
+ }
+ break;
+ }
+ default:
+ return c;
+ }
+ }
+}