// file t0.c
typedef struct {
float a;
float b;
} foo;
void t() {
foo a = *(__ea foo*)0; // 0 is not problem here
}
$ spu-gcc -Wall -O0 -c t0.c -S
does not produce instruction that calls __cache_fetch.
typedef struct {
float a;
} foo;
struct with 1 member or just float/int type does produce this instruction.
brsl $lr,__cache_fetch
--
Summary: SPU __ea qualifier doesn't get along with some structure
Product: gcc
Version: 4.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kojih at jp dot sony dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33778