xref: /llvm-project/llvm/test/CodeGen/AArch64/pr66603.ll (revision 8505c3b15bfc535ff6624e71add4082680745187)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3
2; RUN: llc < %s -mtriple=aarch64-- -verify-machineinstrs | FileCheck %s
3
4; Don't fold freeze(assertsext(x)) -> assertsext(freeze(x))
5define i32 @PR66603(double %x) nounwind {
6; CHECK-LABEL: PR66603:
7; CHECK:       // %bb.0:
8; CHECK-NEXT:    fcvtzs w8, d0
9; CHECK-NEXT:    sxtb w0, w8
10; CHECK-NEXT:    ret
11  %as_i8 = fptosi double %x to i8
12  %frozen_i8 = freeze i8 %as_i8
13  %ext = sext i8 %frozen_i8 to i32
14  ret i32 %ext
15}
16