mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
04ae1ab1c3
This patch adds LLVM intrinsics for the dcbt (Data Cache Block Touch), dcbtst (Data Cache Block Touch for Store) and isync (Instruction Synchronize) instructions. The intrinsic for dcbt and dcbst in this patch are named llvm.ppc.dcbt.with.hint and llvm.ppc.dcbtst.with.hint respectively as there already exists an intrinsic for llvm.ppc.dcbt and llvm.ppc.dcbtst. However, the original variants of the intrinsics do not accept the TH immediate field, whereas these variants do. Differential Revision: https://reviews.llvm.org/D79633
18 lines
461 B
LLVM
18 lines
461 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu < %s \
|
|
; RUN: -verify-machineinstrs -ppc-asm-full-reg-names \
|
|
; RUN: -ppc-vsr-nums-as-vr | FileCheck %s
|
|
|
|
define void @isync_test() {
|
|
; CHECK-LABEL: isync_test:
|
|
; CHECK: # %bb.0: # %entry
|
|
; CHECK-NEXT: isync
|
|
; CHECK-NEXT: blr
|
|
|
|
entry:
|
|
tail call void @llvm.ppc.isync()
|
|
ret void
|
|
}
|
|
|
|
declare void @llvm.ppc.isync()
|