• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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