1//===- BlackfinIntrinsics.td - Defines Blackfin intrinsics -*- tablegen -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file defines all of the blackfin-specific intrinsics. 11// 12//===----------------------------------------------------------------------===// 13 14let TargetPrefix = "bfin", isTarget = 1 in { 15 16//===----------------------------------------------------------------------===// 17// Core synchronisation etc. 18// 19// These intrinsics have sideeffects. Each represent a single instruction, but 20// workarounds are sometimes required depending on the cpu. 21 22// Execute csync instruction with workarounds 23def int_bfin_csync : GCCBuiltin<"__builtin_bfin_csync">, 24 Intrinsic<[]>; 25 26// Execute ssync instruction with workarounds 27def int_bfin_ssync : GCCBuiltin<"__builtin_bfin_ssync">, 28 Intrinsic<[]>; 29 30// Execute idle instruction with workarounds 31def int_bfin_idle : GCCBuiltin<"__builtin_bfin_idle">, 32 Intrinsic<[]>; 33 34} 35