| /* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ |
| /* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining" } */ |
| |
| typedef struct TypHeader |
| { |
| unsigned long size; |
| struct TypHeader **ptr; |
| } *TypHandle; |
| |
| extern TypHandle NewBag (unsigned int type, unsigned long size); |
| typedef unsigned long TypPoint32; |
| |
| TypHandle |
| QuoPP (TypHandle hdL, TypHandle hdR) |
| { |
| TypHandle hdC; |
| unsigned long degC; |
| TypPoint32 *ptC; |
| unsigned long degL; |
| TypPoint32 *ptL; |
| unsigned long degR; |
| TypPoint32 *ptR; |
| unsigned long p; |
| |
| degL = ((hdL)->size) / sizeof (TypPoint32); |
| degR = ((hdR)->size) / sizeof (TypPoint32); |
| degC = degL < degR ? degR : degL; |
| hdC = NewBag (9, (unsigned long) (degC * sizeof (TypPoint32))); |
| ptC = (TypPoint32 *) ((TypHandle *) ((hdC)->ptr)); |
| |
| for (p = 0; p < degC; p++) |
| ptC[(((p) < (degR)) ? (ptR)[(p)] : (p))] = |
| ((((((p) < (degL)) ? (ptL)[(p)] : (p))) < |
| (degR)) ? (ptR)[((((p) < (degL)) ? (ptL)[(p)] : (p)))] |
| : ((((p) < (degL)) ? (ptL)[(p)] : (p)))); |
| } |
| |