Nested GEP expression

I noticed a few instances of nested GEP expression such as in test/Transforms/InstCombine/pr38984.ll:37

  %2 = getelementptr i16, ptr getelementptr ([21 x i16], ptr @a, i64 1, i32 0), <4 x i16> %1

While I understand the notation here, I want to know if there’s any reason to allow such syntax, instead of breaking it into two expressions by assigning the inner GEP to a temporary. I don’t see nested expression allowed anywhere else.

Is there any optimization that specifically looking for this form of GEP?

See [RFC] Remove most constant expressions for recent discussion of the current state of constant expressions.