The table below shows all 101 primitives and which rules they implement. Note that a rule might be missing because it was just not added yet, or because it does not apply for a specific primitive.
| Name | StableHLO | Reverse | Quickr |
|---|---|---|---|
| abs | ✓ | ✓ | ✓ |
| acos | ✓ | ✓ | ✗ |
| acosh | ✓ | ✓ | ✗ |
| add | ✓ | ✓ | ✓ |
| all | ✓ | ✓ | ✓ |
| and | ✓ | ✓ | ✓ |
| any | ✓ | ✓ | ✓ |
| asin | ✓ | ✓ | ✗ |
| asinh | ✓ | ✓ | ✗ |
| atan | ✓ | ✓ | ✗ |
| atan2 | ✓ | ✓ | ✗ |
| atanh | ✓ | ✓ | ✗ |
| bitcast_convert | ✓ | ✓ | ✗ |
| broadcast_in_axes | ✓ | ✓ | ✓ |
| cbrt | ✓ | ✓ | ✗ |
| ceiling | ✓ | ✓ | ✓ |
| chol | ✓ | ✓ | ✗ |
| clamp | ✓ | ✓ | ✗ |
| concatenate | ✓ | ✓ | ✓ |
| convert | ✓ | ✓ | ✓ |
| convolution | ✓ | ✗ | ✗ |
| cos | ✓ | ✓ | ✓ |
| cosh | ✓ | ✓ | ✗ |
| cummax | ✓ | ✓ | ✗ |
| cummin | ✓ | ✓ | ✗ |
| cumprod | ✓ | ✗ | ✗ |
| cumsum | ✓ | ✓ | ✗ |
| digamma | ✓ | ✓ | ✗ |
| div | ✓ | ✓ | ✓ |
| dot_general | ✓ | ✓ | ✓ |
| dynamic_slice | ✓ | ✓ | ✓ |
| dynamic_update_slice | ✓ | ✓ | ✓ |
| eigh | ✓ | ✗ | ✗ |
| eq | ✓ | ✓ | ✓ |
| erf | ✓ | ✓ | ✗ |
| erf_inv | ✓ | ✓ | ✗ |
| erfc | ✓ | ✓ | ✗ |
| exp | ✓ | ✓ | ✓ |
| expm1 | ✓ | ✓ | ✓ |
| fill | ✓ | ✗ | ✓ |
| floor | ✓ | ✓ | ✓ |
| gather | ✓ | ✓ | ✓ |
| ge | ✓ | ✓ | ✓ |
| gt | ✓ | ✓ | ✓ |
| if | ✓ | ✓ | ✓ |
| ifelse | ✓ | ✓ | ✓ |
| iota | ✓ | ✗ | ✓ |
| is_finite | ✓ | ✓ | ✗ |
| le | ✓ | ✓ | ✓ |
| lgamma | ✓ | ✓ | ✗ |
| log | ✓ | ✓ | ✓ |
| log1p | ✓ | ✓ | ✓ |
| lt | ✓ | ✓ | ✓ |
| lu | ✓ | ✗ | ✗ |
| max | ✓ | ✓ | ✓ |
| min | ✓ | ✓ | ✓ |
| mul | ✓ | ✓ | ✓ |
| ne | ✓ | ✓ | ✓ |
| negate | ✓ | ✓ | ✓ |
| not | ✓ | ✓ | ✓ |
| or | ✓ | ✓ | ✓ |
| pad | ✓ | ✓ | ✓ |
| plogis | ✓ | ✓ | ✓ |
| pmax | ✓ | ✓ | ✓ |
| pmin | ✓ | ✓ | ✓ |
| popcnt | ✓ | ✓ | ✗ |
| pow | ✓ | ✓ | ✓ |
| ✓ | ✓ | ✗ | |
| prod | ✓ | ✓ | ✓ |
| psigamma | ✓ | ✓ | ✗ |
| qr | ✓ | ✗ | ✗ |
| reduce | ✓ | ✗ | ✗ |
| remainder | ✓ | ✓ | ✗ |
| reshape | ✓ | ✓ | ✓ |
| rev | ✓ | ✓ | ✓ |
| rng_bit_generator | ✓ | ✗ | ✗ |
| round | ✓ | ✓ | ✗ |
| rsqrt | ✓ | ✓ | ✗ |
| scan | ✓ | ✗ | ✗ |
| scatter | ✓ | ✓ | ✓ |
| shift_left | ✓ | ✓ | ✗ |
| shift_right_arithmetic | ✓ | ✓ | ✗ |
| shift_right_logical | ✓ | ✓ | ✗ |
| sign | ✓ | ✓ | ✗ |
| sin | ✓ | ✓ | ✓ |
| sinh | ✓ | ✓ | ✗ |
| sort | ✓ | ✓ | ✗ |
| sqrt | ✓ | ✓ | ✓ |
| static_slice | ✓ | ✓ | ✓ |
| sub | ✓ | ✓ | ✓ |
| sum | ✓ | ✓ | ✓ |
| svd | ✓ | ✗ | ✗ |
| tan | ✓ | ✓ | ✓ |
| tanh | ✓ | ✓ | ✓ |
| top_k | ✓ | ✓ | ✗ |
| transpose | ✓ | ✓ | ✓ |
| triangular_solve | ✓ | ✓ | ✗ |
| which_max | ✓ | ✓ | ✗ |
| which_min | ✓ | ✓ | ✗ |
| while | ✓ | ✗ | ✓ |
| xor | ✓ | ✓ | ✓ |