[llvm-dev] AArch64 v1i64 and v1f64 data types

Friedman, Eli via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 12 12:48:26 PST 2018


On 1/12/2018 1:02 AM, Sam Parker via llvm-dev wrote:
>
> Hi Tim and all,
>
>
> A recent commit to the type legalizer has highlighted AArch64's use of 
> v1 data types, could you shine some light on why they've been declared 
> as legal? And any particularly awkward barriers that prevent them from 
> being removed as legal?
>

v1i64 specifically is used to indicate that a value should be stored in 
a SIMD register (as opposed to an integer register, like we use for 
i64).  This allows instruction selection to select instructions which 
produce and use i64 values in SIMD registers, like loads, stores, and 
i64<->f64 conversions.

This isn't the only possible approach, but it seems to work reasonably 
well as-is.

-Eli


-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180112/dbc6db95/attachment-0001.html>


More information about the llvm-dev mailing list