| /* Test the valid @cc<cc> asm flag outputs. */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O" } */ |
| /* { dg-skip-if "" { arm_thumb1 } } */ |
| |
| #ifndef __GCC_ASM_FLAG_OUTPUTS__ |
| #error "missing preprocessor define" |
| #endif |
| |
| void f(char *out) |
| { |
| asm("" |
| : "=@ccne"(out[0]), "=@cceq"(out[1]), |
| "=@cccs"(out[2]), "=@cccc"(out[3]), |
| "=@ccmi"(out[4]), "=@ccpl"(out[5]), |
| "=@ccvs"(out[6]), "=@ccvc"(out[7]), |
| "=@cchi"(out[8]), "=@ccls"(out[9]), |
| "=@ccge"(out[10]), "=@cclt"(out[11]), |
| "=@ccgt"(out[12]), "=@ccle"(out[13]), |
| "=@cchs"(out[14]), "=@cclo"(out[15])); |
| } |
| |
| /* There will be at least one of each. */ |
| /* { dg-final { scan-assembler "movne" } } */ |
| /* { dg-final { scan-assembler "moveq" } } */ |
| /* { dg-final { scan-assembler "movcs" } } */ |
| /* { dg-final { scan-assembler "movcc" } } */ |
| /* { dg-final { scan-assembler "movmi" } } */ |
| /* { dg-final { scan-assembler "movpl" } } */ |
| /* { dg-final { scan-assembler "movvs" } } */ |
| /* { dg-final { scan-assembler "movvc" } } */ |
| /* { dg-final { scan-assembler "movhi" } } */ |
| /* { dg-final { scan-assembler "movls" } } */ |
| /* { dg-final { scan-assembler "movge" } } */ |
| /* { dg-final { scan-assembler "movls" } } */ |
| /* { dg-final { scan-assembler "movgt" } } */ |
| /* { dg-final { scan-assembler "movle" } } */ |