Page MenuHomePhabricator

PaoloS (Paolo Savini)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 11 2019, 4:02 AM (37 w, 3 d)

Recent Activity

Wed, Mar 25

PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.

Fixed obsolete comments.

Wed, Mar 25, 7:00 AM · Restricted Project
PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
  • Added bitmanip compressed instructions.
  • Added compressed instruction emission.
  • Added mc tests.
  • Added assembler predicate strings to B extension and subextensions.
  • Fixed typos.
  • Fixed the order of the single bit instructions.
Wed, Mar 25, 6:59 AM · Restricted Project

Tue, Mar 24

PaoloS added inline comments to D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
Tue, Mar 24, 5:20 AM · Restricted Project
PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
  • Sorted the definitions of the instructions and the MC tests according to the order of the encodings in the manual.
  • Improved the names of the instruction templates.
  • Removed unused operand types and instruction templates.
  • The features hasSideEffects, mayLoad and mayStore are now set only on the templates that need it.
  • Renamed all the immediate parameters in the templates as 'shamt', for uniformity.
  • Split the funct12 field of the unary instruction template into two fields of 7 and 5 bits. For conformity to the manual and for maintainability.
  • Added a 4-bit immediate operand for the 32 bit shuffle.
  • Added constraints on the size of the immediate operands.
  • Added tests on the constraints of the immediate operands.
  • Renamed most registers in the tests for uniformity.
  • Removed the compressed instructions as they are still a proposal for the C extension and still cause encoding conflicts with the ones aready implemented there.
  • Removed tests of compressed instructions.
Tue, Mar 24, 5:20 AM · Restricted Project

Thu, Mar 19

PaoloS added inline comments to D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
Thu, Mar 19, 2:15 PM · Restricted Project
PaoloS added inline comments to D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
Thu, Mar 19, 9:10 AM · Restricted Project

Feb 3 2020

PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.

Added empty scheduling descriptions, just to let it build with the upstream LLVM.

Feb 3 2020, 6:25 AM · Restricted Project

Dec 3 2019

PaoloS updated the summary of D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
Dec 3 2019, 8:50 AM · Restricted Project
PaoloS updated the diff for D67348: [RISCV] Add codegen pattern matching for bit manipulation assembly instructions..

Update codegen pattern matching to RISCV BitManip v0.92:

Dec 3 2019, 4:04 AM · Restricted Project

Nov 28 2019

PaoloS added inline comments to D67348: [RISCV] Add codegen pattern matching for bit manipulation assembly instructions..
Nov 28 2019, 9:28 AM · Restricted Project

Nov 15 2019

PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.

Update encodings to RISCV BitManip v0.92:

Nov 15 2019, 2:14 AM · Restricted Project

Oct 2 2019

PaoloS updated the diff for D67348: [RISCV] Add codegen pattern matching for bit manipulation assembly instructions..

Added matching of LLVM bit manipulation instrinsics like bswap, bitreverse, fshl and fshr to the corresponding asm instructions in the RISC-V bit manipulation ISA extension. Added codegen tests accordingly. Added codegen tests for the intrinsics ctlz, cttz and ctpop, to check that they are matched with the assembly instructions clz, ctz and pcnt.

Oct 2 2019, 8:35 AM · Restricted Project

Sep 17 2019

PaoloS updated the diff for D67348: [RISCV] Add codegen pattern matching for bit manipulation assembly instructions..

Removed new lines and trailing spaces.

Sep 17 2019, 11:11 AM · Restricted Project
PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.

Removed new line.

Sep 17 2019, 10:52 AM · Restricted Project
PaoloS updated the diff for D67348: [RISCV] Add codegen pattern matching for bit manipulation assembly instructions..

Updated tests that failed due to latest commit in LLVM.

Sep 17 2019, 10:11 AM · Restricted Project

Sep 13 2019

PaoloS added inline comments to D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
Sep 13 2019, 3:25 AM · Restricted Project

Sep 9 2019

PaoloS updated the summary of D67348: [RISCV] Add codegen pattern matching for bit manipulation assembly instructions..
Sep 9 2019, 4:46 AM · Restricted Project
PaoloS added a child revision for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension: D67348: [RISCV] Add codegen pattern matching for bit manipulation assembly instructions..
Sep 9 2019, 4:40 AM · Restricted Project
PaoloS added a parent revision for D67348: [RISCV] Add codegen pattern matching for bit manipulation assembly instructions.: D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
Sep 9 2019, 4:40 AM · Restricted Project
PaoloS created D67348: [RISCV] Add codegen pattern matching for bit manipulation assembly instructions..
Sep 9 2019, 4:36 AM · Restricted Project

Sep 4 2019

PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.

Fixed immediate values of shfli/unshfli for zip/unzip pseudo instructions.

Sep 4 2019, 10:56 AM · Restricted Project

Sep 2 2019

PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.

Update the encodings to the latest version of the spec. Fix the tests and encoding conflicts.

Sep 2 2019, 4:43 AM · Restricted Project

Aug 30 2019

PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.

Added the latest updates to the encodings of the instructions, including the gorc, gorci, bfp instructions, the 'orc' pseudo instructions based on gorci and the zip/unzip pseudo instructions based on shfli/unshfli. Changed the encoding of grev and bmatxor to make space for gorc. Added the subtarget feature Zbf to support bfp. Added the necessary MC tests.

Aug 30 2019, 8:38 AM · Restricted Project

Aug 7 2019

PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.

Fixed the indentation of the tests.

Aug 7 2019, 10:19 AM · Restricted Project
PaoloS updated the diff for D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.

Fixed typos, bad indentations and capitalization.
Added uimm6 and uimm7 riscv asm operand types in order to have more precise classes to represent the templates of the instructions with 5-bit, 6-bit and 7-bit immediate fields. The riscv asm operand uimm5 already existed.
Added missing rev pseudo instructions for riscv64.
Fixed the tests accordingly.
Added comments.

Aug 7 2019, 8:48 AM · Restricted Project

Aug 2 2019

PaoloS created D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
Aug 2 2019, 6:13 AM · Restricted Project