aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStefan Schulze Frielinghaus <stefansf@linux.ibm.com>2021-05-11 19:33:37 +0200
committerStefan Schulze Frielinghaus <stefansf@linux.ibm.com>2021-05-11 19:33:37 +0200
commit21dfb22920ce32fcf336eac4513fa44de28819e0 (patch)
tree668818c940a27e3aa5c0575c7cdb86e267c34090 /gcc
parent84b384a16f388c68166b0603e50d0b477d0830a7 (diff)
downloadgcc-21dfb22920ce32fcf336eac4513fa44de28819e0.zip
gcc-21dfb22920ce32fcf336eac4513fa44de28819e0.tar.gz
gcc-21dfb22920ce32fcf336eac4513fa44de28819e0.tar.bz2
testsuite: Fix input operands of gcc.dg/guality/pr43077-1.c
The type of the output operands *p and *q of the extended asm statement of function foo is unsigned long whereas the type of the corresponding input operands is int. This results, e.g. on IBM Z, in the case that the immediates 2 and 3 are written into registers in SI mode and read in DI mode resulting in wrong values. Fixed by lifting the input operands to type long. gcc/testsuite/ChangeLog: * gcc.dg/guality/pr43077-1.c: Align types of output and input operands by lifting immediates to type long.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/guality/pr43077-1.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/guality/pr43077-1.c b/gcc/testsuite/gcc.dg/guality/pr43077-1.c
index 39bd26a..2d93762 100644
--- a/gcc/testsuite/gcc.dg/guality/pr43077-1.c
+++ b/gcc/testsuite/gcc.dg/guality/pr43077-1.c
@@ -24,7 +24,7 @@ int __attribute__((noinline))
foo (unsigned long *p, unsigned long *q)
{
int ret;
- asm volatile ("" : "=r" (ret), "=r" (*p), "=r" (*q) : "0" (1), "1" (2), "2" (3));
+ asm volatile ("" : "=r" (ret), "=r" (*p), "=r" (*q) : "0" (1), "1" (2l), "2" (3l));
return ret;
}