23 | 23 | || `packl` || pack low || r,,i,, = c,,2i+1,, || |

24 | 24 | || `packh` || pack high || r,,i,, = c,,2i,, || |

25 | | || `packus` || pack with signed saturation || r,,i,, = ss(c,,2i+1,,) || |

26 | | || `packss` || pack with unsigned saturation || r,,i,, = us(c,,2i+1,,) || |

| 25 | || `packus` || pack with unsigned saturation || r,,i,, = us,,N,,(concat(c,,2i,,, c,,2i+1,,)|| |

| 26 | || `packss` || pack with signed saturation || r,,i,, = ss,,N,,(concat(c,,2i,,, c,,2i+1,,) || |

| 27 | |

| 28 | where the N-bit unsigned and signed saturation functions are defined as follows. |

| 29 | - us,,N,,(x) = x, if u(x) < 2^N^ |

| 30 | - us,,N,,(x) = 2^N^-1, if u(x) >= 2^N^ |

| 31 | - ss,,N,,(x) = x, if -2^N-1^ <= s(x) < 2^N-1^ |

| 32 | - ss,,N,,(x) = 2^N-1^-1, if s(x) >= 2^N-1^ |

| 33 | - ss,,N,,(x) = -2^N-1^, if s(x) < 2^N-1^ |