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 | 4995b05f56a0993f03f57536129a44d33971dd95 (patch) | |
tree | 27957ecbb0ec81ab5a730046d5c0b65334b51097 /llvm/lib | |
parent | ed172998a6bcf52755e67f50e472eb50cbbbc071 (diff) | |
download | bcm5719-llvm-4995b05f56a0993f03f57536129a44d33971dd95.tar.gz bcm5719-llvm-4995b05f56a0993f03f57536129a44d33971dd95.zip |
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.
llvm-svn: 126320
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/XCore/XCoreInstrInfo.td | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/Target/XCore/XCoreInstrInfo.td b/llvm/lib/Target/XCore/XCoreInstrInfo.td index b89f6769971..90a725220f2 100644 --- a/llvm/lib/Target/XCore/XCoreInstrInfo.td +++ b/llvm/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 //===----------------------------------------------------------------------===// |