diff options
author | Richard Osborne <richard@xmos.com> | 2011-02-23 18:35:59 +0000 |
---|---|---|
committer | Richard Osborne <richard@xmos.com> | 2011-02-23 18:35:59 +0000 |
commit | 9935bd0819dcc3fe316a7c5c25ee245540df2ecf (patch) | |
tree | 26716892c0bd969e8009d23c2c3e8db357269e55 /lib/Target/XCore | |
parent | c70f687dce99ea48ca779e6767006f6663781132 (diff) | |
download | external_llvm-9935bd0819dcc3fe316a7c5c25ee245540df2ecf.zip external_llvm-9935bd0819dcc3fe316a7c5c25ee245540df2ecf.tar.gz external_llvm-9935bd0819dcc3fe316a7c5c25ee245540df2ecf.tar.bz2 |
Add llvm.xcore.waitevent intrinsic. The effect of this intrinsic is to enable
events on the thread and wait until a resource is ready to event. The vector
of the resource that is ready is returned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126320 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/XCore')
-rw-r--r-- | lib/Target/XCore/XCoreInstrInfo.td | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Target/XCore/XCoreInstrInfo.td b/lib/Target/XCore/XCoreInstrInfo.td index b89f676..90a7252 100644 --- a/lib/Target/XCore/XCoreInstrInfo.td +++ b/lib/Target/XCore/XCoreInstrInfo.td @@ -895,7 +895,7 @@ def SETV_1r : _F1R<(outs), (ins GRRegs:$r), [(int_xcore_setv GRRegs:$r, R11)]>; // Zero operand short -// TODO waiteu, clre, ssync, freet, ldspc, stspc, ldssr, stssr, ldsed, stsed, +// TODO clre, ssync, freet, ldspc, stspc, ldssr, stssr, ldsed, stsed, // stet, geted, getet, getkep, getksp, setkep, getid, kret, dcall, dret, // dentsp, drestsp @@ -904,6 +904,12 @@ def GETID_0R : _F0R<(outs), (ins), "get r11, id", [(set R11, (int_xcore_getid))]>; +let isBranch=1, isIndirectBranch=1, isTerminator=1, isBarrier = 1, + hasSideEffects = 1 in +def WAITEU_0R : _F0R<(outs), (ins), + "waiteu", + [(brind (int_xcore_waitevent))]>; + //===----------------------------------------------------------------------===// // Non-Instruction Patterns //===----------------------------------------------------------------------===// |