[PATCH]{AArch64] Implemented half-precision vget/vset_lane_f16	intrinsics
    Ana Pazos 
    apazos at codeaurora.org
       
    Tue Dec  3 12:00:48 PST 2013
    
    
  
Hi Tim and reviewers,
 
I followed Tim's suggestion to use macros to handle the float16_t storage
type.
 
Notes:
1)      Since the vget/vset_lane_f16 intrinsics read and write 16 bit data
(no FP arithmetic performed), I simply reinterpreted float16_t and the
vector of float16_t as i16 data.
See the operators defined in NeonEmitter.
2)      With this change vget/vset_lane_f16 use to vget/vset_lane_i16
implementation.
3)      I added f16_to_f32 pattern because in the vset_lane case the i16
data is moved from GPR to a FP register, and hence the need for this
pattern.
4)      I added test cases that define float16_t variable in the function
body, but do not return such value type as it is not allowed. Let me know if
these tests are satisfactory.
5)      I did not try to enforce the recommended intrinsic->instruction map
from the ARM document. 
To force those instructions I would have to use builtins and v1i16 type
casts so I can create the pattern.
Even doing that, in some cases the UMOV, INS patterns defined earlier can
prevail over.
 
Thanks,
Ana.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131203/20fd537a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-llvm-Implemented-vget-vset_lane_f16-intrinsics.patch
Type: application/octet-stream
Size: 1080 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131203/20fd537a/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-clang-Implemented-vget-vset_lane_f16-intrinsics.patch
Type: application/octet-stream
Size: 4426 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131203/20fd537a/attachment-0001.obj>
    
    
More information about the cfe-commits
mailing list