diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2016-02-12 17:57:54 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2016-02-12 17:57:54 +0000 |
commit | 46937ca4e7692dddfdd06f56bb4858ffec0c9279 (patch) | |
tree | fb0f054e2a59e9f4ece11c183c186aab0d564b61 /llvm/lib | |
parent | e07f1aa8faffa4cbd71ec48b0f1de550c7f29816 (diff) | |
download | bcm5719-llvm-46937ca4e7692dddfdd06f56bb4858ffec0c9279.tar.gz bcm5719-llvm-46937ca4e7692dddfdd06f56bb4858ffec0c9279.zip |
[AMDGPU] Assembler: Swap operands of flat_store instructions to match AMD assembler
Historically, AMD internal sp3 assembler has flat_store* addr, data
format. To match existing code and to enable reuse, change LLVM
definitions to match. Also update MC and CodeGen tests.
Differential Revision: http://reviews.llvm.org/D16927
Patch by: Nikolay Haustov
llvm-svn: 260694
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/AMDGPU/CIInstructions.td | 2 | ||||
-rw-r--r-- | llvm/lib/Target/AMDGPU/SIInstrInfo.td | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/AMDGPU/CIInstructions.td b/llvm/lib/Target/AMDGPU/CIInstructions.td index 2651936f5b8..bee4ed97dfe 100644 --- a/llvm/lib/Target/AMDGPU/CIInstructions.td +++ b/llvm/lib/Target/AMDGPU/CIInstructions.td @@ -297,7 +297,7 @@ def : FlatLoadPat <FLAT_LOAD_DWORDX4, flat_load, v4i32>; class FlatStorePat <FLAT inst, SDPatternOperator node, ValueType vt> : Pat < (node vt:$data, i64:$addr), - (inst $data, $addr, 0, 0, 0) + (inst $addr, $data, 0, 0, 0) >; def : FlatStorePat <FLAT_STORE_BYTE, flat_truncstorei8, i32>; diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.td b/llvm/lib/Target/AMDGPU/SIInstrInfo.td index 0b17aa95459..e032935f598 100644 --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.td +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.td @@ -2652,9 +2652,9 @@ multiclass FLAT_Load_Helper <flat op, string asm_name, multiclass FLAT_Store_Helper <flat op, string asm_name, RegisterClass vdataClass, dag outs = (outs), - dag ins = (ins vdataClass:$data, VReg_64:$addr, glc_flat:$glc, + dag ins = (ins VReg_64:$addr, vdataClass:$data, glc_flat:$glc, slc_flat:$slc, tfe_flat:$tfe), - string asm = asm_name#" $data, $addr"#"$glc"#"$slc"#"$tfe"> { + string asm = asm_name#" $addr, $data"#"$glc"#"$slc"#"$tfe"> { let mayLoad = 0, mayStore = 1, vdst = 0 in { |