Dan Gohman | 6de29f8 | 2009-06-15 22:12:54 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llvm-dis | not grep {ret.*(} |
| 2 | |
| 3 | ; All of these constant expressions should fold. |
| 4 | |
| 5 | define <2 x float> @ga() { |
| 6 | ret <2 x float> fptrunc (<2 x double><double 4.3, double 3.2> to <2 x float>) |
| 7 | } |
| 8 | define <2 x double> @gb() { |
| 9 | ret <2 x double> fpext (<2 x float><float 2.0, float 8.0> to <2 x double>) |
| 10 | } |
| 11 | define <2 x i64> @gd() { |
| 12 | ret <2 x i64> zext (<2 x i32><i32 3, i32 4> to <2 x i64>) |
| 13 | } |
| 14 | define <2 x i64> @ge() { |
| 15 | ret <2 x i64> sext (<2 x i32><i32 3, i32 4> to <2 x i64>) |
| 16 | } |
| 17 | define <2 x i32> @gf() { |
| 18 | ret <2 x i32> trunc (<2 x i64><i64 3, i64 4> to <2 x i32>) |
| 19 | } |
| 20 | define <2 x i32> @gh() { |
| 21 | ret <2 x i32> fptoui (<2 x float><float 8.0, float 7.0> to <2 x i32>) |
| 22 | } |
| 23 | define <2 x i32> @gi() { |
| 24 | ret <2 x i32> fptosi (<2 x float><float 8.0, float 7.0> to <2 x i32>) |
| 25 | } |
| 26 | define <2 x float> @gj() { |
| 27 | ret <2 x float> uitofp (<2 x i32><i32 8, i32 7> to <2 x float>) |
| 28 | } |
| 29 | define <2 x float> @gk() { |
| 30 | ret <2 x float> sitofp (<2 x i32><i32 8, i32 7> to <2 x float>) |
| 31 | } |
| 32 | define <2 x double> @gl() { |
| 33 | ret <2 x double> bitcast (<2 x double><double 4.0, double 3.0> to <2 x double>) |
| 34 | } |
| 35 | define <2 x double> @gm() { |
| 36 | ret <2 x double> bitcast (<2 x i64><i64 4, i64 3> to <2 x double>) |
| 37 | } |