pr26350.c: New.

* gcc.target/powerpc/pr26350.c: New.
        * gcc.target/powerpc/indexed-addr.c: New.

From-SVN: r112176
This commit is contained in:
David Edelsohn 2006-03-17 16:45:46 +00:00 committed by David Edelsohn
parent ea5bd0d8b9
commit d550ef0bf6
3 changed files with 48 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2006-03-17 David Edelsohn <edelsohn@gnu.org>
* gcc.target/powerpc/pr26350.c: New.
* gcc.target/powerpc/indexed-addr.c: New.
2006-03-16 Roger Sayle <roger@eyesopen.com>
* gfortran.dg/dependency_13.f90: New test case.

View file

@ -0,0 +1,14 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler "3,\.*3,\.*4" } }
/* Ensure that indexed address are output with base address in rA position
and index in rB position. */
char
do_one (char *base, unsigned long offset)
{
return base[offset];
}

View file

@ -0,0 +1,29 @@
/* { dg-do compile { target { powerpc*-*-darwin* powerpc*-*-aix* rs6000-*-* powerpc*-*-linux* } } } */
/* { dg-options "-O2 -mlong-double-128 -fpic" } */
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
typedef struct REGS REGS;
typedef union { uint32_t F; } FW;
typedef union { struct { FW L; } F; } DW;
typedef struct _PSW {
DW ia;
} PSW;
struct REGS {
PSW psw;
DW cr[16];
};
struct ebfp {
long double v;
};
void s390_convert_fix32_to_bfp_ext_reg (REGS *regs)
{
struct ebfp op1;
int32_t op2;
((regs))->psw.ia.F.L.F += (4);
if(!((regs)->cr[(0)].F.L.F & 0x00040000))
op1.v = (long double)op2;
put_ebfp(&op1);
}