[llvm-bugs] [Bug 50232] New: [SIMD] shuffle + convert doesn't lower to f64x2.promote_low_f32x4
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed May 5 11:46:48 PDT 2021
https://bugs.llvm.org/show_bug.cgi?id=50232
Bug ID: 50232
Summary: [SIMD] shuffle + convert doesn't lower to
f64x2.promote_low_f32x4
Product: libraries
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: WebAssembly
Assignee: unassignedbugs at nondot.org
Reporter: clang at evan.coeusgroup.com
CC: llvm-bugs at lists.llvm.org
LLVM misses an opportunity to emit f64x2.promote_low_f32x4. Instead, it
extracts each lane, runs f64.promote_f32 on the extracted value, then inserts
the result.
Test case:
#include <wasm_simd128.h>
v128_t
alt_f64x2_promote_low_f32x4(v128_t __a) {
return (v128_t)
__builtin_convertvector(
__builtin_shufflevector((__f32x4) __a, (__f32x4) __a, 0, 1),
__f64x2
);
// return (v128_t)__builtin_wasm_promote_low_f32x4_f64x2((__f32x4)__a);
}
On Compiler Explorer: https://godbolt.org/z/xx68PfoTd
--
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/20210505/0714c257/attachment.html>
More information about the llvm-bugs
mailing list