GlobalISel: Implement lower for G_BITCAST
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 10 Jan 2020 02:53:28 +0000 (21:53 -0500)
committerMatt Arsenault <arsenm2@gmail.com>
Wed, 15 Jan 2020 13:58:58 +0000 (08:58 -0500)
commit936483fb7dd2c8c6b014516ff3b3cd13740e0518
treeab7dd66c7c654b2dbbb9d119533506402d581f50
parentbd7658a212ebc27a8f7d69666820df33bc8d61f5
GlobalISel: Implement lower for G_BITCAST

Bitcast only really applies between scalars and vectors. Implement as
an unmerge and remerge. The test needs to tolerate failure since one
of the unmerges currently fails to legalize.
llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir