add the regression tests for struct type arg passing.

normally, struct type will be splitted into scalar type by clang in c/c++
level, but if we write llvm assembly directly, then these struct type will
be visible in backend, thus the backend need to handle them properly.