[NVPTX] fold movs into loads and stores (#144581)

Fold movs into loads and stores by increasing the number of return
values or operands. For example:

```
L: v2f16,ch = Load [p]
e0 = extractelt L, 0
e1 = extractelt L, 1
consume(e0, e1)
```

...becomes...

```
L: f16,f16,ch = LoadV2 [p]
consume(L:0, L:1)
```
GitOrigin-RevId: e1cd450c8f7ca1815364b6b0a275be71eea39860
23 files changed