Simon Pilgrim fa17ce8b6e [SelectionDAG] Fixed issue with uitofp vector constant folding being treated as sitofp
While the uitofp scalar constant folding treats an integer as an unsigned value (from lang ref):

%X = sitofp i8 -1 to double ; yields double:-1.0
%Y = uitofp i8 -1 to double ; yields double:255.0

The vector constant folding was always using sitofp:

%X = sitofp <2 x i8> <i8 -1, i8 -1> to <2 x double> ; yields <double -1.0, double -1.0>
%Y = uitofp <2 x i8> <i8 -1, i8 -1> to <2 x double> ; yields <double -1.0, double -1.0>

This patch fixes this so that the correct opcode is used for sitofp and uitofp.

%X = sitofp <2 x i8> <i8 -1, i8 -1> to <2 x double> ; yields <double -1.0, double -1.0>
%Y = uitofp <2 x i8> <i8 -1, i8 -1> to <2 x double> ; yields <double 255.0, double 255.0>

Differential Revision: http://reviews.llvm.org/D8560

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233033 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-23 22:44:55 +00:00
..
2014-12-15 22:34:58 +00:00
2015-03-18 01:34:06 +00:00
2015-03-06 20:51:25 +00:00
2015-03-06 21:50:27 +00:00
2015-01-08 07:57:27 +00:00
2015-02-05 23:52:12 +00:00
2015-01-26 21:28:32 +00:00
2015-01-26 21:28:32 +00:00
2015-02-11 15:00:41 +00:00
2015-02-11 15:00:19 +00:00
2015-03-06 21:30:18 +00:00
2015-03-06 20:38:55 +00:00
2015-03-06 20:46:16 +00:00
2015-02-11 14:58:25 +00:00