[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / AArch64 / fptouint-i8-zext.ll
blob4e07c62ba99c9ec1f1751fda23320643e6a79a53
1 ; RUN: llc < %s | FileCheck %s
3 target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
4 target triple = "aarch64"
6 ; If the float value is negative or too large, the result is undefined anyway;
7 ; otherwise, fcvtzs must returns a value in [0, 256), which guarantees zext.
9 ; CHECK-LABEL: float_char_int_func:
10 ; CHECK: fcvtzs [[A:w[0-9]+]], s0
11 ; CHECK-NEXT: ret
12 define i32 @float_char_int_func(float %infloatVal) {
13 entry:
14   %conv = fptoui float %infloatVal to i8
15   %conv1 = zext i8 %conv to i32
16   ret i32 %conv1