[RISCV] Add shrinkwrap test cases showing gaps in current impl
[llvm-project.git] / llvm / test / CodeGen / X86 / ptwrite32-intrinsic.ll
blobb7de01b5cbd0601d454ddeaf1585665618d47698
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i386-unknown-unknown -mattr=+ptwrite | FileCheck %s --check-prefix=X86
3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ptwrite | FileCheck %s --check-prefix=X86_64
5 define void @test_ptwrite(i32 %value) {
6 ; X86-LABEL: test_ptwrite:
7 ; X86:       # %bb.0: # %entry
8 ; X86-NEXT:    ptwritel {{[0-9]+}}(%esp)
9 ; X86-NEXT:    retl
11 ; X86_64-LABEL: test_ptwrite:
12 ; X86_64:       # %bb.0: # %entry
13 ; X86_64-NEXT:    ptwritel %edi
14 ; X86_64-NEXT:    retq
15 entry:
16   call void @llvm.x86.ptwrite32(i32 %value)
17   ret void
20 define void @test_ptwrite2(i32 %x) {
21 ; X86-LABEL: test_ptwrite2:
22 ; X86:       # %bb.0: # %entry
23 ; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
24 ; X86-NEXT:    incl %eax
25 ; X86-NEXT:    ptwritel %eax
26 ; X86-NEXT:    retl
28 ; X86_64-LABEL: test_ptwrite2:
29 ; X86_64:       # %bb.0: # %entry
30 ; X86_64-NEXT:    incl %edi
31 ; X86_64-NEXT:    ptwritel %edi
32 ; X86_64-NEXT:    retq
33 entry:
34   %value = add i32 %x, 1
35   call void @llvm.x86.ptwrite32(i32 %value)
36   ret void
39 define void @test_ptwrite32p(ptr %pointer) {
40 ; X86-LABEL: test_ptwrite32p:
41 ; X86:       # %bb.0: # %entry
42 ; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
43 ; X86-NEXT:    ptwritel (%eax)
44 ; X86-NEXT:    retl
46 ; X86_64-LABEL: test_ptwrite32p:
47 ; X86_64:       # %bb.0: # %entry
48 ; X86_64-NEXT:    ptwritel (%rdi)
49 ; X86_64-NEXT:    retq
50 entry:
51   %value = load i32, ptr %pointer, align 4
52   call void @llvm.x86.ptwrite32(i32 %value)
53   ret void
56 declare void @llvm.x86.ptwrite32(i32)