# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=aarch64-- -O0 -run-pass=legalizer %s -o - | FileCheck %s

---
name:            test_fptosi_s32_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptosi_s32_s32
    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[DEF]](s32)
    ; CHECK: $w0 = COPY [[FPTOSI]](s32)
    %0:_(s32) = G_IMPLICIT_DEF
    %1:_(s32) = G_FPTOSI %0
    $w0 = COPY %1
...

---
name:            test_fptoui_s32_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptoui_s32_s32
    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF
    ; CHECK: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[DEF]](s32)
    ; CHECK: $w0 = COPY [[FPTOUI]](s32)
    %0:_(s32) = G_IMPLICIT_DEF
    %1:_(s32) = G_FPTOUI %0
    $w0 = COPY %1
...

---
name:            test_fptosi_s32_s64
body: |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: test_fptosi_s32_s64
    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[DEF]](s32)
    ; CHECK: $w0 = COPY [[FPTOSI]](s32)
    %0:_(s32) = G_IMPLICIT_DEF
    %1:_(s32) = G_FPTOSI %0
    $w0 = COPY %1
...

---
name:            test_fptoui_s32_s64
body: |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: test_fptoui_s32_s64
    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s64)
    ; CHECK: $w0 = COPY [[FPTOUI]](s32)
    %0:_(s64) = COPY $x0
    %1:_(s32) = G_FPTOUI %0
    $w0 = COPY %1
...

---
name:            test_fptosi_s64_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptosi_s64_s32
    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s64) = G_FPTOSI [[COPY]](s32)
    ; CHECK: $x0 = COPY [[FPTOSI]](s64)
    %0:_(s32) = COPY $w0
    %1:_(s64) = G_FPTOSI %0
    $x0 = COPY %1
...

---
name:            test_fptoui_s64_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptoui_s64_s32
    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
    ; CHECK: [[FPTOUI:%[0-9]+]]:_(s64) = G_FPTOUI [[COPY]](s32)
    ; CHECK: $x0 = COPY [[FPTOUI]](s64)
    %0:_(s32) = COPY $w0
    %1:_(s64) = G_FPTOUI %0
    $x0 = COPY %1
...

---
name:            test_fptosi_s64_s64
body: |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: test_fptosi_s64_s64
    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s64) = G_FPTOSI [[COPY]](s64)
    ; CHECK: $x0 = COPY [[FPTOSI]](s64)
    %0:_(s64) = COPY $x0
    %1:_(s64) = G_FPTOSI %0
    $x0 = COPY %1
...

---
name:            test_fptoui_s64_s64
body: |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: test_fptoui_s64_s64
    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[FPTOUI:%[0-9]+]]:_(s64) = G_FPTOUI [[COPY]](s64)
    ; CHECK: $x0 = COPY [[FPTOUI]](s64)
    %0:_(s64) = COPY $x0
    %1:_(s64) = G_FPTOUI %0
    $x0 = COPY %1
...



---
name:            test_fptosi_s1_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptosi_s1_s32
    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s32)
    ; CHECK: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[FPTOSI]](s32)
    ; CHECK: $x0 = COPY [[ANYEXT]](s64)
    %0:_(s32) = COPY $w0
    %1:_(s1) = G_FPTOSI %0
    %2:_(s64) = G_ANYEXT %1
    $x0 = COPY %2
...

---
name:            test_fptoui_s1_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptoui_s1_s32
    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
    ; CHECK: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s32)
    ; CHECK: $w0 = COPY [[FPTOUI]](s32)
    %0:_(s32) = COPY $w0
    %1:_(s1) = G_FPTOUI %0
    %2:_(s32) = G_ANYEXT %1
    $w0 = COPY %2
...

---
name:            test_fptosi_s8_s64
body: |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: test_fptosi_s8_s64
    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s64)
    ; CHECK: $w0 = COPY [[FPTOSI]](s32)
    %0:_(s64) = COPY $x0
    %1:_(s8) = G_FPTOSI %0
    %2:_(s32) = G_ANYEXT %1
    $w0 = COPY %2
...

---
name:            test_fptoui_s8_s64
body: |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: test_fptoui_s8_s64
    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s64)
    ; CHECK: $w0 = COPY [[FPTOUI]](s32)
    %0:_(s64) = COPY $x0
    %1:_(s8) = G_FPTOUI %0
    %2:_(s32) = G_ANYEXT %1
    $w0 = COPY %2
...

---
name:            test_fptosi_s16_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptosi_s16_s32
    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s32)
    ; CHECK: $w0 = COPY [[FPTOSI]](s32)
    %0:_(s32) = COPY $w0
    %1:_(s16) = G_FPTOSI %0
    %2:_(s32) = G_ANYEXT %1
    $w0 = COPY %2
...

---
name:            test_fptoui_s16_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptoui_s16_s32
    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
    ; CHECK: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s32)
    ; CHECK: $w0 = COPY [[FPTOUI]](s32)
    %0:_(s32) = COPY $w0
    %1:_(s16) = G_FPTOUI %0
    %2:_(s32) = G_ANYEXT %1
    $w0 = COPY %2
...

---
name:            test_fptoui_v4s32
body: |
  bb.0:
    liveins: $q0
    ; CHECK-LABEL: name: test_fptoui_v4s32
    ; CHECK: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q0
    ; CHECK: [[FPTOUI:%[0-9]+]]:_(<4 x s32>) = G_FPTOUI [[COPY]](<4 x s32>)
    ; CHECK: $q0 = COPY [[FPTOUI]](<4 x s32>)
    %0:_(<4 x s32>) = COPY $q0
    %1:_(<4 x s32>) = G_FPTOUI %0
    $q0 = COPY %1
...

---
name:            test_fptosi_v4s32
body: |
  bb.0:
    liveins: $q0
    ; CHECK-LABEL: name: test_fptosi_v4s32
    ; CHECK: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q0
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(<4 x s32>) = G_FPTOSI [[COPY]](<4 x s32>)
    ; CHECK: $q0 = COPY [[FPTOSI]](<4 x s32>)
    %0:_(<4 x s32>) = COPY $q0
    %1:_(<4 x s32>) = G_FPTOSI %0
    $q0 = COPY %1
...

---
name:            test_fptoui_s128_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptoui_s128_s32
    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
    ; CHECK: [[FPTOUI:%[0-9]+]]:_(s128) = G_FPTOUI [[COPY]](s32)
    ; CHECK: $q0 = COPY [[FPTOUI]](s128)
    %0:_(s32) = COPY $w0
    %1:_(s128) = G_FPTOUI %0
    $q0 = COPY %1
...

---
name:            test_fptosi_s128_s32
body: |
  bb.0:
    liveins: $w0
    ; CHECK-LABEL: name: test_fptosi_s128_s32
    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s128) = G_FPTOSI [[COPY]](s32)
    ; CHECK: $q0 = COPY [[FPTOSI]](s128)
    %0:_(s32) = COPY $w0
    %1:_(s128) = G_FPTOSI %0
    $q0 = COPY %1
...
---
name:            test_fptosi_s88_s88
body: |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: test_fptosi_s88_s88
    ; CHECK: [[DEF:%[0-9]+]]:_(s88) = G_IMPLICIT_DEF
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s128) = G_FPTOSI [[DEF]](s88)
    ; CHECK: [[TRUNC:%[0-9]+]]:_(s88) = G_TRUNC [[FPTOSI]](s128)
    ; CHECK: %trunc:_(s64) = G_TRUNC [[TRUNC]](s88)
    ; CHECK: $x0 = COPY %trunc(s64)
    %0:_(s88) = G_IMPLICIT_DEF
    %1:_(s88) = G_FPTOSI %0
    %trunc:_(s64) = G_TRUNC %1
    $x0 = COPY %trunc
...
---
name:            test_fptosi_s88_s64
body: |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: test_fptosi_s88_s64
    ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s128) = G_FPTOSI [[DEF]](s64)
    ; CHECK: [[TRUNC:%[0-9]+]]:_(s88) = G_TRUNC [[FPTOSI]](s128)
    ; CHECK: %trunc:_(s64) = G_TRUNC [[TRUNC]](s88)
    ; CHECK: $x0 = COPY %trunc(s64)
    %0:_(s64) = G_IMPLICIT_DEF
    %1:_(s88) = G_FPTOSI %0
    %trunc:_(s64) = G_TRUNC %1
    $x0 = COPY %trunc
...
---
name:            test_fptosi_s64_s88
body: |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: test_fptosi_s64_s88
    ; CHECK: [[DEF:%[0-9]+]]:_(s88) = G_IMPLICIT_DEF
    ; CHECK: [[FPEXT:%[0-9]+]]:_(s128) = G_FPEXT [[DEF]](s88)
    ; CHECK: [[FPTOSI:%[0-9]+]]:_(s64) = G_FPTOSI [[FPEXT]](s128)
    ; CHECK: $x0 = COPY [[FPTOSI]](s64)
    %0:_(s88) = G_IMPLICIT_DEF
    %1:_(s64) = G_FPTOSI %0
    $x0 = COPY %1
