/* Test specification of custom instructions via command-line options. */ /* { dg-do compile } */ /* { dg-options "-O1" } */ /* -O1 in the options is significant. Without it LBCO/SBCO operations may not be optimized to the respective instructions. */ #pragma ctable_entry 12 0x48040000 unsigned int test_ctable (unsigned int val1, unsigned int val2) { ((volatile unsigned short int *)0x48040000)[0] = val2; ((volatile unsigned int *)0x48040000)[val1] = val2; return ((volatile unsigned int *)0x48040000)[4]; } /* { dg-final { scan-assembler "sbco\\tr15.b\[012\]?, 12, 0, 2" } } */ /* { dg-final { scan-assembler "sbco\\tr15.b0, 12, r14, 4" } } */ /* { dg-final { scan-assembler "lbco\\tr14.b0, 12, 16, 4" } } */