Skip to content

Commit 620db1f

Browse files
committed
[NVPTX] Added support for .f16x2 instructions.
This patch enables support for .f16x2 operations. Added new register type Float16x2. Added support for .f16x2 instructions. Added handling of vectorized loads/stores of v2f16 values. Differential Revision: https://reviews.llvm.org/D30057 Differential Revision: https://reviews.llvm.org/D30310 llvm-svn: 296032
1 parent 063a56e commit 620db1f

15 files changed

+2343
-153
lines changed

llvm/lib/Target/NVPTX/InstPrinter/NVPTXInstPrinter.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ void NVPTXInstPrinter::printRegName(raw_ostream &OS, unsigned RegNo) const {
6464
case 7:
6565
OS << "%h";
6666
break;
67+
case 8:
68+
OS << "%hh";
69+
break;
6770
}
6871

6972
unsigned VReg = RegNo & 0x0FFFFFFF;

llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,8 @@ unsigned NVPTXAsmPrinter::encodeVirtualRegister(unsigned Reg) {
363363
Ret = (6 << 28);
364364
} else if (RC == &NVPTX::Float16RegsRegClass) {
365365
Ret = (7 << 28);
366+
} else if (RC == &NVPTX::Float16x2RegsRegClass) {
367+
Ret = (8 << 28);
366368
} else {
367369
report_fatal_error("Bad register class");
368370
}

0 commit comments

Comments
 (0)