> The main difference that springs to mind: SIN is built-in, MATMUL is a > library > function. In gcc/builtin.defs, one finds
Not just that: SIN is a pure (or const, depending on -frounding-math) function, which can be subject to CSE and DCE. I don't see anything suggesting that for MATMUL in intrinsic.c. In fact, since MATMUL receives the return array by reference and writes to it, it would be very wrong to make MATMUL const or pure. Paolo