| OLD | NEW |
| 1 //===-- R600Instructions.td - R600 Instruction defs -------*- tablegen -*-===// | 1 //===-- R600Instructions.td - R600 Instruction defs -------*- tablegen -*-===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // R600 Tablegen instruction definitions | 10 // R600 Tablegen instruction definitions |
| (...skipping 1597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1608 // | 1608 // |
| 1609 // (0, 8) = (Input << 24) >> 24 = (Input & 0xff) >> 0 | 1609 // (0, 8) = (Input << 24) >> 24 = (Input & 0xff) >> 0 |
| 1610 // (8, 8) = (Input << 16) >> 24 = (Input & 0xffff) >> 8 | 1610 // (8, 8) = (Input << 16) >> 24 = (Input & 0xffff) >> 8 |
| 1611 // (16,8) = (Input << 8) >> 24 = (Input & 0xffffff) >> 16 | 1611 // (16,8) = (Input << 8) >> 24 = (Input & 0xffffff) >> 16 |
| 1612 // (24,8) = (Input << 0) >> 24 = (Input & 0xffffffff) >> 24 | 1612 // (24,8) = (Input << 0) >> 24 = (Input & 0xffffffff) >> 24 |
| 1613 def BFE_UINT_eg : R600_3OP <0x4, "BFE_UINT", | 1613 def BFE_UINT_eg : R600_3OP <0x4, "BFE_UINT", |
| 1614 [(set i32:$dst, (int_AMDIL_bit_extract_u32 i32:$src0, i32:$src1, | 1614 [(set i32:$dst, (int_AMDIL_bit_extract_u32 i32:$src0, i32:$src1, |
| 1615 i32:$src2))], | 1615 i32:$src2))], |
| 1616 VecALU | 1616 VecALU |
| 1617 >; | 1617 >; |
| 1618 def : BFEPattern <BFE_UINT_eg>; | |
| 1619 | 1618 |
| 1620 def BFI_INT_eg : R600_3OP <0x06, "BFI_INT", [], VecALU>; | 1619 def BFI_INT_eg : R600_3OP <0x06, "BFI_INT", [], VecALU>; |
| 1621 defm : BFIPatterns <BFI_INT_eg>; | 1620 defm : BFIPatterns <BFI_INT_eg>; |
| 1622 | 1621 |
| 1623 def BIT_ALIGN_INT_eg : R600_3OP <0xC, "BIT_ALIGN_INT", | 1622 def BIT_ALIGN_INT_eg : R600_3OP <0xC, "BIT_ALIGN_INT", |
| 1624 [(set i32:$dst, (AMDGPUbitalign i32:$src0, i32:$src1, i32:$src2))], | 1623 [(set i32:$dst, (AMDGPUbitalign i32:$src0, i32:$src1, i32:$src2))], |
| 1625 VecALU | 1624 VecALU |
| 1626 >; | 1625 >; |
| 1627 | 1626 |
| 1628 def MULADD_eg : MULADD_Common<0x14>; | 1627 def MULADD_eg : MULADD_Common<0x14>; |
| (...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2428 | 2427 |
| 2429 def : BitConvert <i32, f32, R600_Reg32>; | 2428 def : BitConvert <i32, f32, R600_Reg32>; |
| 2430 def : BitConvert <f32, i32, R600_Reg32>; | 2429 def : BitConvert <f32, i32, R600_Reg32>; |
| 2431 def : BitConvert <v4f32, v4i32, R600_Reg128>; | 2430 def : BitConvert <v4f32, v4i32, R600_Reg128>; |
| 2432 def : BitConvert <v4i32, v4f32, R600_Reg128>; | 2431 def : BitConvert <v4i32, v4f32, R600_Reg128>; |
| 2433 | 2432 |
| 2434 // DWORDADDR pattern | 2433 // DWORDADDR pattern |
| 2435 def : DwordAddrPat <i32, R600_Reg32>; | 2434 def : DwordAddrPat <i32, R600_Reg32>; |
| 2436 | 2435 |
| 2437 } // End isR600toCayman Predicate | 2436 } // End isR600toCayman Predicate |
| OLD | NEW |