blob: 2c5ea3755058bc345ffac1a1c0dfc3b7a8370812 [file] [log] [blame]
/* 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" } } */