summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2013-04-29 22:23:54 +0000
committerTom Stellard <thomas.stellard@amd.com>2013-04-29 22:23:54 +0000
commit8367067e02a84f326aa06cb22cc66805421cfe3f (patch)
tree5e88893aa6840e5dd326e8f0adadb5808e0a51ce /llvm
parent2b06530ed6a2108038b40ead5ceb469d371bad9a (diff)
downloadbcm5719-llvm-8367067e02a84f326aa06cb22cc66805421cfe3f.tar.gz
bcm5719-llvm-8367067e02a84f326aa06cb22cc66805421cfe3f.zip
R600: Fix encoding of CF_END_{EG, R600} instructions
The EOP bit was not being encoded. llvm-svn: 180734
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/R600/R600Instructions.td1
-rw-r--r--llvm/test/CodeGen/R600/cf_end.ll6
2 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/R600/R600Instructions.td b/llvm/lib/Target/R600/R600Instructions.td
index f74c5a651e8..5757f64df1e 100644
--- a/llvm/lib/Target/R600/R600Instructions.td
+++ b/llvm/lib/Target/R600/R600Instructions.td
@@ -906,6 +906,7 @@ class CF_WORD1_EG {
let Word1{9-8} = COND;
let Word1{15-10} = COUNT;
let Word1{20} = VALID_PIXEL_MODE;
+ let Word1{21} = END_OF_PROGRAM;
let Word1{29-22} = CF_INST;
let Word1{31} = BARRIER;
}
diff --git a/llvm/test/CodeGen/R600/cf_end.ll b/llvm/test/CodeGen/R600/cf_end.ll
new file mode 100644
index 00000000000..67d5e3e781c
--- /dev/null
+++ b/llvm/test/CodeGen/R600/cf_end.ll
@@ -0,0 +1,6 @@
+; RUN: llc < %s -march=r600 -mcpu=redwood --show-mc-encoding | FileCheck %s
+
+; CHECK: CF_END ; encoding: [0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x80]
+define void @eop() {
+ ret void
+}
OpenPOWER on IntegriCloud