/* { dg-do compile } */ | |
/* { dg-options "-O0 -std=gnu99" } */ | |
void foo () | |
{ | |
long long ll, off; | |
/* Indirect. */ | |
ll = __builtin_bpf_load_byte (off); | |
ll = __builtin_bpf_load_half (off); | |
ll = __builtin_bpf_load_word (off); | |
/* Absolute. */ | |
ll = __builtin_bpf_load_byte (0); | |
ll = __builtin_bpf_load_half (4); | |
ll = __builtin_bpf_load_word (8); | |
} | |
/* { dg-final { scan-assembler "ldindb\t%r.,0.*ldindh\t%r.,0.*ldindw\t%r.,0" } } */ | |
/* { dg-final { scan-assembler "ldabsb\t0.*ldabsh\t4.*ldabsw\t8" } } */ |