/* { dg-do compile { target mips16_attribute } } */ /* { dg-mips-options "-mcode-readable=pcrel -mgp32" } */ /* { dg-add-options mips16_attribute } */ MIPS16 int foo (int i) { switch (i) { case 1: return 40; case 2: return 11; case 3: return 29; case 4: return 10; case 5: return 12; case 6: return 35; case 7: return 23; default: return 0; } } extern int k[]; MIPS16 int * bar (void) { return k; } /* { dg-final { scan-assembler-not "\tla\t" } } */ /* { dg-final { scan-assembler-not "\t\.half\t" } } */ /* { dg-final { scan-assembler "%hi\\(\[^)\]*L" } } */ /* { dg-final { scan-assembler "%lo\\(\[^)\]*L" } } */ /* { dg-final { scan-assembler "\t\.word\tk\n" } } */ /* { dg-final { scan-assembler-not "%hi\\(k\\)" } } */ /* { dg-final { scan-assembler-not "%lo\\(k\\)" } } */