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 14 let 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 23 def int_bfin_csync : GCCBuiltin<"__builtin_bfin_csync">, 24 Intrinsic<[]>; 25 26 // Execute ssync instruction with workarounds 27 def int_bfin_ssync : GCCBuiltin<"__builtin_bfin_ssync">, 28 Intrinsic<[]>; 29 30 // Execute idle instruction with workarounds 31 def int_bfin_idle : GCCBuiltin<"__builtin_bfin_idle">, 32 Intrinsic<[]>; 33 34 } 35