Fortran 2003 has square bracket syntax for array concatenation, Intel fortran compiler supports it too. I wrote a simple code here for matrix concatenation:
prog
Another way could simply be to
mat3(:,1:3) = mat1 mat3(:,4:6) = mat2
I dont know which is faster, this or the do loop above...