xref: /llvm-project/llvm/test/CodeGen/X86/pr61348.ll (revision 7ff0b9735dc5803b2820010e05753d02adb8e654)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
2; REQUIRES: asserts
3; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s
4
5define i32 @PR61348() optsize {
6; CHECK-LABEL: PR61348:
7; CHECK:       # %bb.0:
8; CHECK-NEXT:    movl $3, %ecx
9; CHECK-NEXT:    xorl %edi, %edi
10; CHECK-NEXT:    xorl %esi, %esi
11; CHECK-NEXT:    rep;movsq (%rsi), %es:(%rdi)
12; CHECK-NEXT:    movb 30, %al
13; CHECK-NEXT:    movb %al, 30
14; CHECK-NEXT:    movzwl 28, %eax
15; CHECK-NEXT:    movw %ax, 28
16; CHECK-NEXT:    movl 24, %eax
17; CHECK-NEXT:    movl %eax, 24
18; CHECK-NEXT:    xorl %eax, %eax
19; CHECK-NEXT:    retq
20  tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 null, ptr align 1 null, i64 31, i1 true)
21  ret i32 0
22}
23declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)
24