[llvm-bugs] [Bug 47491] New: 8-byte loop not vectorized
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Sep 11 05:09:38 PDT 2020
https://bugs.llvm.org/show_bug.cgi?id=47491
Bug ID: 47491
Summary: 8-byte loop not vectorized
Product: libraries
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: Loop Optimizer
Assignee: unassignedbugs at nondot.org
Reporter: david.bolvansky at gmail.com
CC: llvm-bugs at lists.llvm.org
void pr(char* restrict r, char* restrict a){
#pragma clang loop vectorize(enable)
for (int i = 0; i < 8; i++){
r[i] += a[i];
}
}
Clang -O3:
pr: # @pr
mov al, byte ptr [rsi]
add byte ptr [rdi], al
mov al, byte ptr [rsi + 1]
add byte ptr [rdi + 1], al
mov al, byte ptr [rsi + 2]
add byte ptr [rdi + 2], al
mov al, byte ptr [rsi + 3]
add byte ptr [rdi + 3], al
mov al, byte ptr [rsi + 4]
add byte ptr [rdi + 4], al
mov al, byte ptr [rsi + 5]
add byte ptr [rdi + 5], al
mov al, byte ptr [rsi + 6]
add byte ptr [rdi + 6], al
mov al, byte ptr [rsi + 7]
add byte ptr [rdi + 7], al
ret
ICC or GCC -O3 (without any pragma):
pr:
movq xmm1, QWORD PTR [rdi] #3.9
movq xmm0, QWORD PTR [rsi] #3.17
paddb xmm1, xmm0 #3.9
movq QWORD PTR [rdi], xmm1 #3.9
ret
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200911/f6af006c/attachment.html>
More information about the llvm-bugs
mailing list