https://bugs.kde.org/show_bug.cgi?id=370028

--- Comment #19 from Aleksandar Rikalo <aleksandar.rik...@imgtec.com> ---
(In reply to Ivo Raisr from comment #17)
> I was also wondering of the impact on other architectures.
> Please could you conduct a quick test to see how the compiler resolves
> ASSUME_ALIGNED on amd64/ppc, for example? And mips/arm for comparison?

I have used following code to see how the GCC resolves ASSUME_ALIGNED on
MIPS32/64, ARM32, S390, PPC32/64 and AMD64:

char *a;

int f1() {
   return *ASSUME_ALIGNED(int*, a);
}

int f2() {
   return *((int*)a);
}

With -O1 (or higher) generated code for f1() and f2() are identical.

Without optimizations (-O0), f1() has few instructions more than f2(), more
precisely:
- AMD64: 2 additional mov instructions
- PPC32: additional stw/lwz pair
- PPC64: additional std/ld pair
- S390: additional st/l pair
- ARM32: additional str/ldr pair + two instructions for stack arrangement
- MIPS32: additional sw/lw pair
- MIPS64: additional sd/ld pair

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to