HomePhabricator

[X86] Remove patterns for X86VSintToFP/X86VUintToFP+loadv4f32 to v2f64.

Description

[X86] Remove patterns for X86VSintToFP/X86VUintToFP+loadv4f32 to v2f64.

These patterns can incorrectly narrow a volatile load from 128-bits to 64-bits.
Similar to PR42079.

Switch to using (v4i32 (bitcast (v2i64 (scalar_to_vector (loadi64))))) as the
load pattern used in the instructions.

This probably still has issues in 32-bit mode where loadi64 isn't legal. Maybe
we should use VZMOVL for widened loads even when we don't need the upper bits
as zeroes?

Details

Committed
ctopperMay 31 2019, 12:38 AM
Parents
rL362202: [X86] Add test cases for failure to use 128-bit masked vcvtdq2pd when load…
Branches
Unknown
Tags
Unknown